From 0c8bd05ac11965b8dc3d30b5b81f8e36dcbec1d4 Mon Sep 17 00:00:00 2001 From: Thomas Bruederli Date: Thu, 19 Jun 2014 12:20:18 +0200 Subject: [PATCH] Annotate folder subscribe toggle icons as checkboxes --- plugins/calendar/lib/calendar_ui.php | 2 +- plugins/libkolab/js/folderlist.js | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/plugins/calendar/lib/calendar_ui.php b/plugins/calendar/lib/calendar_ui.php index a788bace..5e1bd445 100644 --- a/plugins/calendar/lib/calendar_ui.php +++ b/plugins/calendar/lib/calendar_ui.php @@ -308,7 +308,7 @@ class calendar_ui html::span(array('class' => 'calname', 'id' => $label_id, 'title' => $title), $prop['editname'] ? Q($prop['editname']) : $prop['listname']) . ($prop['virtual'] ? '' : html::tag('input', array('type' => 'checkbox', 'name' => '_cal[]', 'value' => $id, 'checked' => $prop['active'], 'aria-labelledby' => $label_id), '') . - (isset($prop['subscribed']) ? html::a(array('href' => '#', 'class' => 'subscribed', 'title' => $this->cal->gettext('calendarsubscribe')), ' ') : '') . + (isset($prop['subscribed']) ? html::a(array('href' => '#', 'class' => 'subscribed', 'title' => $this->cal->gettext('calendarsubscribe'), 'role' => 'checkbox', 'aria-checked' => $prop['subscribed'] ? 'true' : 'false'), ' ') : '') . html::span(array('class' => 'handle', 'style' => "background-color: #" . ($prop['color'] ?: 'f00')), ' ') ) ); diff --git a/plugins/libkolab/js/folderlist.js b/plugins/libkolab/js/folderlist.js index 67c7c9b1..2c12ab6b 100644 --- a/plugins/libkolab/js/folderlist.js +++ b/plugins/libkolab/js/folderlist.js @@ -70,6 +70,7 @@ function kolab_folderlist(node, p) // activate + subscribe if ($(e.target).hasClass('subscribed')) { search_results[id].subscribed = true; + $(e.target).attr('aria-checked', 'true'); li.children().first() .toggleClass('subscribed') .find('input[type=checkbox]').get(0).checked = true; @@ -222,6 +223,7 @@ function kolab_folderlist(node, p) div = li.children().first(); div.toggleClass('subscribed'); + $(this).attr('aria-checked', div.hasClass('subscribed') ? 'true' : 'false'); me.triggerEvent('subscribe', { id: id, subscribed: div.hasClass('subscribed'), item: li }); e.stopPropagation();