diff options
author | Thomas Bruederli <thomas@roundcube.net> | 2014-06-03 14:11:13 +0200 |
---|---|---|
committer | Thomas Bruederli <thomas@roundcube.net> | 2014-06-03 14:11:13 +0200 |
commit | 458af8d30a1bca153f770358b8f914554b0da6c3 (patch) | |
tree | 148d6d162cafedab14143f47312041a436136c23 /program | |
parent | 5cf77e1159b3aea337a08a9a8eef82c47b49bbd7 (diff) |
Apply accessibility improvements to the address book task
Diffstat (limited to 'program')
-rw-r--r-- | program/js/app.js | 1 | ||||
-rw-r--r-- | program/localization/en_US/labels.inc | 19 | ||||
-rw-r--r-- | program/steps/addressbook/func.inc | 8 |
3 files changed, 22 insertions, 6 deletions
diff --git a/program/js/app.js b/program/js/app.js index e7f9d02b6..9398c6a21 100644 --- a/program/js/app.js +++ b/program/js/app.js @@ -5014,6 +5014,7 @@ function rcube_webmail() // add link to pop back to parent group if (this.env.address_group_stack.length > 1) { $('<a href="#list">...</a>') + .attr('title', this.gettext('uponelevel')) .addClass('poplink') .appendTo(boxtitle) .click(function(e){ return ref.command('popgroup','',this); }); diff --git a/program/localization/en_US/labels.inc b/program/localization/en_US/labels.inc index 874f19be2..2b44ac188 100644 --- a/program/localization/en_US/labels.inc +++ b/program/localization/en_US/labels.inc @@ -377,6 +377,7 @@ $labels['newcontactgroup'] = 'Create new contact group'; $labels['grouprename'] = 'Rename group'; $labels['groupdelete'] = 'Delete group'; $labels['groupremoveselected'] = 'Remove selected contacts from group'; +$labels['uponelevel'] = 'Up one level'; $labels['previouspage'] = 'Show previous page'; $labels['firstpage'] = 'Show first page'; @@ -579,8 +580,10 @@ $labels['arialabeltopnav'] = 'Window control'; $labels['arialabeltasknav'] = 'Application tasks'; $labels['arialabeltoolbar'] = 'Application toolbar'; $labels['arialabelmessagessearchfilter'] = 'Email listing filter'; -$labels['arialabelsearchform'] = 'Email message search form'; -$labels['arialabelquicksearchbox'] = 'Email search input'; +$labels['arialabelmailsearchform'] = 'Email message search form'; +$labels['arialabelcontactsearchform'] = 'Contacts search form'; +$labels['arialabelmailquicksearchbox'] = 'Email search input'; +$labels['arialabelquicksearchbox'] = 'Search input'; $labels['arialabelfolderlist'] = 'Email folder selection'; $labels['arialabelmessagelist'] = 'Email Messages Listing'; $labels['arialabelmailpreviewframe'] = 'Message preview'; @@ -600,5 +603,17 @@ $labels['arialabelresponsesmenu'] = 'Canned responses menu'; $labels['arialabelattachmentuploadform'] = 'Attachment upload form'; $labels['arialabelattachmentpreview'] = 'Attachment preview'; $labels['ariasummarycomposecontacts'] = 'List of contacts and groups to select as recipients'; +$labels['arialabelcontactexportoptions'] = 'Contact export options'; +$labels['arialabelabookgroupoptions'] = 'Addressbook/group options'; + +$labels['helplistnavigation'] = 'List keyboard navigation'; +$labels['helplistkeyboardnavigation'] = "Arrows up/down: Move row focus/selection. +Space: Select focused row. +Shift + up/down: Select additional row above/below. +Ctrl + Space: Add focused row to selection/remove from selection."; +$labels['helplistkeyboardnavmessages'] = "Arrows right/left: expand/collapse message thread (in threads mode only). +Enter: Open the selected/focused message. +Delete: Move selected messages to Trash."; +$labels['helplistkeyboardnavcontacts'] = "Enter: Open the selected/focused contact."; ?> diff --git a/program/steps/addressbook/func.inc b/program/steps/addressbook/func.inc index be0dd2a33..e68a694ef 100644 --- a/program/steps/addressbook/func.inc +++ b/program/steps/addressbook/func.inc @@ -395,7 +395,7 @@ function rcmail_js_contacts_list($result, $prefix='') ), '»'); } else - $val = ' '; + $val = ''; break; default: @@ -422,7 +422,7 @@ function rcmail_contacts_list_title($attrib) unset($attrib['name']); $OUTPUT->add_gui_object('addresslist_title', $attrib['id']); - $OUTPUT->add_label('contacts'); + $OUTPUT->add_label('contacts','uponelevel'); return html::tag($attrib['tag'], $attrib, $RCMAIL->gettext($attrib['label']), html::$common_attrib); } @@ -518,7 +518,7 @@ function rcmail_contact_form($form, $record, $attrib = null) foreach ($coltypes as $col => $prop) { if ($prop['subtypes']) { $subtype_names = array_map('rcmail_get_type_label', $prop['subtypes']); - $select_subtype = new html_select(array('name' => '_subtype_'.$col.'[]', 'class' => 'contactselectsubtype')); + $select_subtype = new html_select(array('name' => '_subtype_'.$col.'[]', 'class' => 'contactselectsubtype', 'title' => $prop['label'] . ' ' . $RCMAIL->gettext('type'))); $select_subtype->add($subtype_names, $prop['subtypes']); $coltypes[$col]['subtypes_select'] = $select_subtype->show(); } @@ -607,7 +607,7 @@ function rcmail_contact_form($form, $record, $attrib = null) // prepare subtype selector in edit mode if ($edit_mode && is_array($colprop['subtypes'])) { $subtype_names = array_map('rcmail_get_type_label', $colprop['subtypes']); - $select_subtype = new html_select(array('name' => '_subtype_'.$col.'[]', 'class' => 'contactselectsubtype')); + $select_subtype = new html_select(array('name' => '_subtype_'.$col.'[]', 'class' => 'contactselectsubtype', 'title' => $colprop['label'] . ' ' . $RCMAIL->gettext('type'))); $select_subtype->add($subtype_names, $colprop['subtypes']); } else |