plugins/kolab_notes
Aleksander Machniak
machniak at kolabsys.com
Wed Jun 18 11:56:52 CEST 2014
plugins/kolab_notes/localization/en_US.inc | 9 +
plugins/kolab_notes/notes.js | 4
plugins/kolab_notes/skins/larry/notes.css | 2
plugins/kolab_notes/skins/larry/templates/dialogview.html | 4
plugins/kolab_notes/skins/larry/templates/notes.html | 64 +++++++-------
5 files changed, 49 insertions(+), 34 deletions(-)
New commits:
commit 6d9d854e65e1d6b77cffbc740fc7f88cd5aba770
Author: Aleksander Machniak <machniak at kolabsys.com>
Date: Wed Jun 18 11:55:47 2014 +0200
Accessibility improvements (#3088)
diff --git a/plugins/kolab_notes/localization/en_US.inc b/plugins/kolab_notes/localization/en_US.inc
index 5e3d1bb..71a26cd 100644
--- a/plugins/kolab_notes/localization/en_US.inc
+++ b/plugins/kolab_notes/localization/en_US.inc
@@ -17,7 +17,8 @@ $labels['changed'] = 'Last Modified';
$labels['title'] = 'Title';
$labels['now'] = 'Now';
$labels['sortby'] = 'Sort by';
-$labels['createlist'] = 'New Notebook';
+$labels['newnotebook'] = 'Create a new notebook';
+$labels['addnotebook'] = 'Add notebook';
$labels['editlist'] = 'Edit Notebook';
$labels['listname'] = 'Name';
$labels['tabsharing'] = 'Sharing';
@@ -39,3 +40,9 @@ $labels['invalidlistproperties'] = 'Invalid notebook properties! Please set a va
$labels['entertitle'] = 'Please enter a title for this note.';
$labels['aclnorights'] = 'You do not have administrator rights for this notebook.';
+$labels['arialabelnoteslist'] = 'List of notes';
+$labels['arialabelnotesearchform'] = 'Notes search form';
+$labels['arialabelnotesquicksearchbox'] = 'Notes search input';
+$labels['arialabelnotessortmenu'] = 'Notes list sorting options';
+$labels['arialabelnotesoptionsmenu'] = 'Notebook actions menu';
+$labels['arialabelnotebookform'] = 'Notebook properties';
diff --git a/plugins/kolab_notes/notes.js b/plugins/kolab_notes/notes.js
index a920281..c52e0b9 100644
--- a/plugins/kolab_notes/notes.js
+++ b/plugins/kolab_notes/notes.js
@@ -135,7 +135,7 @@ function rcube_kolab_notes_ui(settings)
// initialize notes list widget
if (rcmail.gui_objects.noteslist) {
noteslist = new rcube_list_widget(rcmail.gui_objects.noteslist,
- { multiselect:true, draggable:true, keyboard:false });
+ { multiselect:true, draggable:true, keyboard:true });
noteslist.addEventListener('select', function(list) {
var selection_changed = list.selection.length != 1 || !me.selected_note || list.selection[0] != me.selected_note.id;
selection_changed && warn_unsaved_changes(function(){
@@ -175,7 +175,7 @@ function rcube_kolab_notes_ui(settings)
}
folder_drop_target = null;
})
- .init();
+ .init().focus();
}
if (settings.sort_col) {
diff --git a/plugins/kolab_notes/skins/larry/notes.css b/plugins/kolab_notes/skins/larry/notes.css
index e52332c..f85890e 100644
--- a/plugins/kolab_notes/skins/larry/notes.css
+++ b/plugins/kolab_notes/skins/larry/notes.css
@@ -49,7 +49,7 @@
}
.notesview #quicksearchbar {
- top: 8px;
+ top: 2px;
}
.notesview #searchmenulink {
diff --git a/plugins/kolab_notes/skins/larry/templates/dialogview.html b/plugins/kolab_notes/skins/larry/templates/dialogview.html
index 1acab5b..722eb1b 100644
--- a/plugins/kolab_notes/skins/larry/templates/dialogview.html
+++ b/plugins/kolab_notes/skins/larry/templates/dialogview.html
@@ -42,8 +42,8 @@ $(document).ready(function(e){
h = form.outerHeight();
content.width(w).height(h);
- $('#notecontent_tbl').width(w+'px').height('').css('margin-top', '-1px');
- $('#notecontent_ifr').width(w+'px').height((h-54)+'px');
+ $('#noteform > div.mce-tinymce').width(w);
+ $('#notecontent_ifr').width(w).height(h - 4 - $('div.mce-toolbar').height());
}
$(window).resize(function(e){
diff --git a/plugins/kolab_notes/skins/larry/templates/notes.html b/plugins/kolab_notes/skins/larry/templates/notes.html
index 88574d9..2904cf0 100644
--- a/plugins/kolab_notes/skins/larry/templates/notes.html
+++ b/plugins/kolab_notes/skins/larry/templates/notes.html
@@ -9,17 +9,22 @@
<roundcube:include file="/includes/header.html" />
<div id="mainscreen">
- <div id="notestoolbar" class="toolbar">
+ <h1 class="voice"><roundcube:label name="kolab_notes.navtitle" /></h1>
+
+ <div id="notestoolbar" class="toolbar" role="toolbar" aria-labelledby="aria-label-toolbar">
+ <h2 id="aria-label-toolbar" class="voice"><roundcube:label name="arialabeltoolbar" /></h2>
<roundcube:button command="createnote" type="link" class="button createnote disabled" classAct="button createnote" classSel="button createnote pressed" label="kolab_notes.create" title="kolab_notes.createnote" />
<roundcube:button command="print" type="link" class="button print disabled" classAct="button print" classSel="button print pressed" label="print" title="print" />
<roundcube:button command="sendnote" type="link" class="button sendnote disabled" classAct="button sendnote" classSel="button sendnote pressed" label="kolab_notes.send" title="kolab_notes.sendnote" />
<roundcube:container name="toolbar" id="notestoolbar" />
+ </div>
- <div id="quicksearchbar">
- <a id="searchmenulink" class="iconbutton searchoptions" > </a>
- <roundcube:object name="plugin.searchform" id="quicksearchbox" />
- <roundcube:button command="reset-search" id="searchreset" class="iconbutton reset" title="resetsearch" content=" " />
- </div>
+ <div id="quicksearchbar" role="search" aria-labelledby="aria-label-searchform">
+ <h2 id="aria-label-searchform" class="voice"><roundcube:label name="kolab_notes.arialabelnotesearchform" /></h2>
+ <label for="quicksearchbox" class="voice"><roundcube:label name="kolab_notes.arialabelnotesquicksearchbox" /></label>
+ <a id="searchmenulink" class="iconbutton searchoptions" > </a>
+ <roundcube:object name="plugin.searchform" id="quicksearchbox" />
+ <roundcube:button command="reset-search" id="searchreset" class="iconbutton reset" title="resetsearch" content=" " />
</div>
<div id="mainscreencontent">
@@ -35,30 +40,31 @@
<div id="notebooksbox" class="uibox listbox">
<h2 class="boxtitle"><roundcube:label name="kolab_notes.lists" /></h2>
<div class="scroller withfooter">
- <roundcube:object name="plugin.notebooks" id="notebooks" class="listing" />
+ <roundcube:object name="plugin.notebooks" id="notebooks" class="listing" />
</div>
<div class="boxfooter">
- <roundcube:button command="list-create" type="link" title="kolab_notes.createlist" class="listbutton add disabled" classAct="listbutton add" innerClass="inner" content="+" /><roundcube:button name="notesoptionslink" id="notesoptionsmenulink" type="link" title="kolab_notes.listactions" class="listbutton groupactions" onclick="return UI.toggle_popup('notesoptionsmenu', event)" innerClass="inner" content="⚙" />
+ <roundcube:button command="list-create" type="link" title="kolab_notes.newnotebook" class="listbutton add disabled" classAct="listbutton add" innerClass="inner" label="kolab_notes.addnotebook" /><roundcube:button name="notesoptionslink" id="notesoptionsmenulink" type="link" title="kolab_notes.listactions" class="listbutton groupactions" onclick="return UI.toggle_popup('notesoptionsmenu', event)" innerClass="inner" content="⚙" aria-haspopup="true" aria-expanded="false" aria-owns="notesoptionsmenu-menu" />
</div>
</div>
</div>
<div id="mainview-right">
<div id="noteslistbox" class="uibox listbox">
- <h2 class="boxtitle"><roundcube:label name="kolab_notes.notes" /></h2>
- <div class="scroller withfooter">
- <roundcube:object name="plugin.listing" id="kolabnoteslist" class="listing" />
+ <h3 id="aria-label-noteslist" class="boxtitle"><roundcube:label name="kolab_notes.notes" /></h3>
+ <div class="scroller withfooter" aria-labelledby="aria-label-noteslist">
+ <roundcube:object name="plugin.listing" id="kolabnoteslist" class="listing" summary="kolab_notes.arialabelnoteslist" />
</div>
<div class="boxfooter">
- <roundcube:button command="delete" type="link" title="delete" class="listbutton delete disabled" classAct="listbutton delete" innerClass="inner" content="-" />
+ <roundcube:button command="delete" type="link" title="delete" class="listbutton delete disabled" classAct="listbutton delete" innerClass="inner" label="delete" />
<roundcube:object name="plugin.recordsCountDisplay" class="countdisplay" label="fromtoshort" />
</div>
<div class="boxpagenav">
- <roundcube:button name="notessortmenulink" id="notessortmenulink" type="link" title="kolab_notes.sortby" class="icon sortoptions" onclick="UI.show_popup('notessortmenu');return false" innerClass="inner" content="v" />
+ <roundcube:button name="notessortmenulink" id="notessortmenulink" type="link" title="kolab_notes.sortby" class="icon sortoptions" onclick="return UI.toggle_popup('notessortmenu', event)" innerClass="inner" content="v" aria-haspopup="true" aria-expanded="false" aria-owns="notessortmenu-menu" />
</div>
</div>
- <div id="notedetailsbox" class="uibox contentbox">
+ <div id="notedetailsbox" class="uibox contentbox" role="complementary" aria-labelledby="aria-label-noteform">
+ <h3 id="aria-label-noteform" class="voice"><roundcube:label name="kolab_notes.arialabelnoteform" /></h3>
<roundcube:object name="plugin.notetitle" id="notedetailstitle" class="boxtitle" />
<roundcube:object name="plugin.editform" id="noteform" />
<roundcube:object name="plugin.detailview" id="notedetails" class="scroller" />
@@ -76,27 +82,29 @@
<roundcube:object name="message" id="messagestack" />
-<div id="notesoptionsmenu" class="popupmenu">
- <ul class="toolbarmenu">
- <li><roundcube:button command="list-edit" label="edit" classAct="active" /></li>
- <li><roundcube:button command="list-remove" label="delete" classAct="active" /></li>
- <li><roundcube:button command="folders" task="settings" type="link" label="managefolders" classAct="active" /></li>
+<div id="notesoptionsmenu" class="popupmenu" aria-hidden="true">
+ <h3 id="aria-label-optionsmenu" class="voice"><roundcube:label name="kolab_notes.arialabelnotesoptionsmenu" /></h3>
+ <ul class="toolbarmenu" id="notesoptionsmenu-menu" role="menu" aria-labelledby="aria-label-optionsmenu">
+ <li role="menuitem"><roundcube:button command="list-edit" label="edit" classAct="active" /></li>
+ <li role="menuitem"><roundcube:button command="list-remove" label="delete" classAct="active" /></li>
+ <li role="menuitem"><roundcube:button command="folders" task="settings" type="link" label="managefolders" classAct="active" /></li>
</ul>
</div>
-<div id="notessortmenu" class="popupmenu">
- <ul class="toolbarmenu iconized">
- <li><roundcube:button command="list-sort" prop="changed" type="link" label="kolab_notes.changed" class="icon active by-changed" innerclass="icon" /></li>
- <li><roundcube:button command="list-sort" prop="title" type="link" label="kolab_notes.title" class="icon active by-title" innerclass="icon" /></li>
+<div id="notessortmenu" class="popupmenu" aria-hidden="true">
+ <h3 id="aria-label-sortmenu" class="voice"><roundcube:label name="kolab_notes.arialabelnotessortmenu" /></h3>
+ <ul class="toolbarmenu iconized" id="notessortmenu-menu" role="menu" aria-labelledby="aria-label-sortmenu">
+ <li role="menuitem"><roundcube:button command="list-sort" prop="changed" type="link" label="kolab_notes.changed" class="icon active by-changed" innerclass="icon" /></li>
+ <li role="menuitem"><roundcube:button command="list-sort" prop="title" type="link" label="kolab_notes.title" class="icon active by-title" innerclass="icon" /></li>
</ul>
</div>
-<div id="notebookeditform" class="uidialog">
+<div id="notebookeditform" class="uidialog" aria-labelledby="aria-label-editform" aria-hidden="true" role="dialog">
+ <h3 id="aria-label-editform" class="voice"><roundcube:label name="kolab_notes.arialabelnotebookform" /></h3>
<roundcube:container name="notebookeditform" id="notebookeditform" />
<roundcube:label name="loading" />
</div>
-
<script type="text/javascript">
// UI startup
@@ -136,8 +144,8 @@ $(document).ready(function(e){
h = form.outerHeight();
content.width(w).height(h);
- $('#notecontent_tbl').width(w+'px').height('').css('margin-top', '-1px');
- $('#notecontent_ifr').width(w+'px').height((h-54)+'px');
+ $('#noteform > div.mce-tinymce').width(w);
+ $('#notecontent_ifr').width(w).height(h - 4 - $('div.mce-toolbar').height());
}
$(window).resize(function(e){
@@ -148,4 +156,4 @@ $(document).ready(function(e){
</script>
</body>
-</html>
\ No newline at end of file
+</html>
More information about the commits
mailing list