summaryrefslogtreecommitdiff
path: root/lib/scripts
diff options
context:
space:
mode:
authorAnika Henke <anika@selfthinker.org>2013-08-01 16:38:02 +0100
committerAnika Henke <anika@selfthinker.org>2013-08-01 16:38:02 +0100
commit5a99d25b24f7e14f137084100f40325b7a2a71b4 (patch)
treec48da23a172ccc834c9a9ded7d456f16ce1530ff /lib/scripts
parent0e1777cbe86faf809f67198704842a01034a1a98 (diff)
downloadrpg-5a99d25b24f7e14f137084100f40325b7a2a71b4.tar.gz
rpg-5a99d25b24f7e14f137084100f40325b7a2a71b4.tar.bz2
added aria attributes to edit mode
Diffstat (limited to 'lib/scripts')
-rw-r--r--lib/scripts/edit.js9
-rw-r--r--lib/scripts/editor.js1
-rw-r--r--lib/scripts/toolbar.js29
3 files changed, 27 insertions, 12 deletions
diff --git a/lib/scripts/edit.js b/lib/scripts/edit.js
index 5a5e829bd..b1dbff683 100644
--- a/lib/scripts/edit.js
+++ b/lib/scripts/edit.js
@@ -23,7 +23,7 @@ function createToolButton(icon,label,key,id,classname){
$btn.addClass(classname);
}
- $btn.attr('title', label);
+ $btn.attr('title', label).attr('aria-controls', 'wiki__text');
if(key){
$btn.attr('title', label + ' ['+key.toUpperCase()+']')
.attr('accessKey', key);
@@ -40,6 +40,7 @@ function createToolButton(icon,label,key,id,classname){
icon = DOKU_BASE + 'lib/images/toolbar/' + icon;
}
$ico.attr('src', icon);
+ $ico.attr('alt', '');
$ico.attr('width', 16);
$ico.attr('height', 16);
$btn.append($ico);
@@ -76,6 +77,7 @@ function createPicker(id,props,edid){
function $makebutton(title) {
var $btn = jQuery(document.createElement('button'))
.addClass('pickerbutton').attr('title', title)
+ .attr('aria-controls', edid)
.bind('click', bind(pickerInsert, title, edid))
.appendTo($picker);
return $btn;
@@ -93,6 +95,7 @@ function createPicker(id,props,edid){
}
jQuery(document.createElement('img'))
.attr('src', item)
+ .attr('alt', '')
.appendTo($makebutton(key));
}else if (typeof item == 'string'){
// a list of text -> treat as text picker
@@ -132,9 +135,9 @@ function pickerInsert(text,edid){
function addBtnActionSignature($btn, props, edid) {
if(typeof SIG != 'undefined' && SIG != ''){
$btn.bind('click', bind(insertAtCarret,edid,SIG));
- return true;
+ return edid;
}
- return false;
+ return '';
}
/**
diff --git a/lib/scripts/editor.js b/lib/scripts/editor.js
index 042e34608..2c0924eb7 100644
--- a/lib/scripts/editor.js
+++ b/lib/scripts/editor.js
@@ -65,6 +65,7 @@ var dw_editor = {
], function (_, img) {
jQuery(document.createElement('IMG'))
.attr('src', DOKU_BASE+'lib/images/' + img[0] + '.gif')
+ .attr('alt', '')
.click(img[1])
.appendTo($ctl);
});
diff --git a/lib/scripts/toolbar.js b/lib/scripts/toolbar.js
index 6d75215e0..5fc4d835e 100644
--- a/lib/scripts/toolbar.js
+++ b/lib/scripts/toolbar.js
@@ -52,8 +52,13 @@ function initToolbar(tbid,edid,tb, allowblock){
// type is a init function -> execute it
actionFunc = 'addBtnAction'+val.type.charAt(0).toUpperCase()+val.type.substring(1);
if( jQuery.isFunction(window[actionFunc]) ){
- if(window[actionFunc]($btn, val, edid)){
+ var pickerid = window[actionFunc]($btn, val, edid);
+ if(pickerid !== ''){
$toolbar.append($btn);
+ $btn.attr('aria-controls', pickerid);
+ if (actionFunc === 'addBtnActionPicker') {
+ $btn.attr('aria-haspopup', 'true');
+ }
}
return;
}
@@ -190,16 +195,17 @@ function tb_autohead(btn, props, edid){
*/
function addBtnActionPicker($btn, props, edid) {
var pickerid = 'picker'+(pickercounter++);
- createPicker(pickerid, props, edid);
+ var picker = createPicker(pickerid, props, edid);
+ jQuery(picker).attr('aria-hidden', 'true');
$btn.click(
function() {
pickerToggle(pickerid,$btn);
- return false;
+ return '';
}
);
- return true;
+ return pickerid;
}
/**
@@ -215,22 +221,26 @@ function addBtnActionLinkwiz(btn, props, edid) {
dw_linkwiz.init(jQuery('#'+edid));
jQuery(btn).click(function(){
dw_linkwiz.toggle();
- return false;
+ return '';
});
- return true;
+ return 'link__wiz';
}
/**
- * Show/Hide a previosly created picker window
+ * Show/Hide a previously created picker window
*
* @author Andreas Gohr <andi@splitbrain.org>
*/
function pickerToggle(pickerid,$btn){
var $picker = jQuery('#' + pickerid),
pos = $btn.offset();
- $picker.toggleClass('a11y')
- .offset({left: pos.left+3, top: pos.top+$btn[0].offsetHeight+3});
+ if ($picker.hasClass('a11y')) {
+ $picker.removeClass('a11y').attr('aria-hidden', 'false');
+ } else {
+ $picker.addClass('a11y').attr('aria-hidden', 'true');
+ }
+ $picker.offset({left: pos.left+3, top: pos.top+$btn[0].offsetHeight+3});
}
/**
@@ -252,4 +262,5 @@ function fixtxt(str){
jQuery(function () {
initToolbar('tool__bar','wiki__text',toolbar);
+ jQuery('#tool__bar').attr('role', 'toolbar');
});