['ý', 'ý', true, 'y - acute'],\r
['þ', 'þ', true, 'thorn'],\r
['ÿ', 'ÿ', true, 'y - diaeresis'],\r
- ['Α', 'Α', true, 'Alpha'],\r
+ ['Α', 'Α', true, 'Alpha'],\r
['Β', 'Β', true, 'Beta'],\r
['Γ', 'Γ', true, 'Gamma'],\r
['Δ', 'Δ', true, 'Delta'],\r
['⌋', '⌋', false,'right floor'],\r
['⟨', '〈', false,'left-pointing angle bracket'],\r
['⟩', '〉', false,'right-pointing angle bracket'],\r
- ['◊', '◊', true,'lozenge'],\r
- ['♠', '♠', false,'black spade suit'],\r
+ ['◊', '◊', true, 'lozenge'],\r
+ ['♠', '♠', true, 'black spade suit'],\r
['♣', '♣', true, 'black club suit'],\r
['♥', '♥', true, 'black heart suit'],\r
['♦', '♦', true, 'black diamond suit'],\r
\r
tinyMCEPopup.onInit.add(function() {\r
tinyMCEPopup.dom.setHTML('charmapView', renderCharMapHTML());\r
+ addKeyboardNavigation();\r
});\r
\r
+function addKeyboardNavigation(){\r
+ var tableElm, cells, settings;\r
+\r
+ cells = tinyMCEPopup.dom.select("a.charmaplink", "charmapgroup");\r
+\r
+ settings ={\r
+ root: "charmapgroup",\r
+ items: cells\r
+ };\r
+ cells[0].tabindex=0;\r
+ tinyMCEPopup.dom.addClass(cells[0], "mceFocus");\r
+ if (tinymce.isGecko) {\r
+ cells[0].focus(); \r
+ } else {\r
+ setTimeout(function(){\r
+ cells[0].focus();\r
+ }, 100);\r
+ }\r
+ tinyMCEPopup.editor.windowManager.createInstance('tinymce.ui.KeyboardNavigation', settings, tinyMCEPopup.dom);\r
+}\r
+\r
function renderCharMapHTML() {\r
var charsPerRow = 20, tdWidth=20, tdHeight=20, i;\r
- var html = '<table border="0" cellspacing="1" cellpadding="0" width="' + (tdWidth*charsPerRow) + '"><tr height="' + tdHeight + '">';\r
+ var html = '<div id="charmapgroup" aria-labelledby="charmap_label" tabindex="0" role="listbox">'+\r
+ '<table role="presentation" border="0" cellspacing="1" cellpadding="0" width="' + (tdWidth*charsPerRow) + \r
+ '"><tr height="' + tdHeight + '">';\r
var cols=-1;\r
\r
for (i=0; i<charmap.length; i++) {\r
+ var previewCharFn;\r
+\r
if (charmap[i][2]==true) {\r
cols++;\r
+ previewCharFn = 'previewChar(\'' + charmap[i][1].substring(1,charmap[i][1].length) + '\',\'' + charmap[i][0].substring(1,charmap[i][0].length) + '\',\'' + charmap[i][3] + '\');';\r
html += ''\r
+ '<td class="charmap">'\r
- + '<a onmouseover="previewChar(\'' + charmap[i][1].substring(1,charmap[i][1].length) + '\',\'' + charmap[i][0].substring(1,charmap[i][0].length) + '\',\'' + charmap[i][3] + '\');" onfocus="previewChar(\'' + charmap[i][1].substring(1,charmap[i][1].length) + '\',\'' + charmap[i][0].substring(1,charmap[i][0].length) + '\',\'' + charmap[i][3] + '\');" href="javascript:void(0)" onclick="insertChar(\'' + charmap[i][1].substring(2,charmap[i][1].length-1) + '\');" onclick="return false;" onmousedown="return false;" title="' + charmap[i][3] + '">'\r
+ + '<a class="charmaplink" role="button" onmouseover="'+previewCharFn+'" onfocus="'+previewCharFn+'" href="javascript:void(0)" onclick="insertChar(\'' + charmap[i][1].substring(2,charmap[i][1].length-1) + '\');" onclick="return false;" onmousedown="return false;" title="' + charmap[i][3] + ' '+ tinyMCEPopup.editor.translate("advanced_dlg.charmap_usage")+'">'\r
+ charmap[i][1]\r
+ '</a></td>';\r
if ((cols+1) % charsPerRow == 0)\r
html += '<td width="' + tdWidth + '" height="' + tdHeight + '" class="charmap"> </td>';\r
}\r
\r
- html += '</tr></table>';\r
+ html += '</tr></table></div>';\r
+ html = html.replace(/<tr height="20"><\/tr>/g, '');\r
\r
return html;\r
}\r