From af94d24951003cc44c08b0cac4777b3fa4970c4f Mon Sep 17 00:00:00 2001 From: Romano Licker Date: Thu, 20 Oct 2011 12:34:03 +0200 Subject: [PATCH 01/27] [#667] added style to hide content from sighted users --- public/stylesheets/application.css | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/public/stylesheets/application.css b/public/stylesheets/application.css index a7087308..5ce9dc5e 100644 --- a/public/stylesheets/application.css +++ b/public/stylesheets/application.css @@ -973,3 +973,14 @@ h2 img { vertical-align:middle; } table.list {margin-top:0.5em;} table.list th, table.list td {border: 1px solid #aaa;} } + + +/* Accessibility specific styles */ +.hidden-for-sighted { + position:absolute; + left:-10000px; + top:auto; + width:1px; + height:1px; + overflow:hidden; +} From bf8de58548eea330c75bce8d8f589bc08a28f61c Mon Sep 17 00:00:00 2001 From: Romano Licker Date: Thu, 20 Oct 2011 17:25:33 +0200 Subject: [PATCH 02/27] [#667] added 'for' to link them --- app/helpers/issues_helper.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/helpers/issues_helper.rb b/app/helpers/issues_helper.rb index 4063d763..a07d26d4 100644 --- a/app/helpers/issues_helper.rb +++ b/app/helpers/issues_helper.rb @@ -213,8 +213,8 @@ module IssuesHelper def send_notification_option content_tag(:p, content_tag(:label, - l(:label_notify_member_plural)) + - hidden_field_tag('send_notification', '0') + + l(:label_notify_member_plural), :for => 'send_notification') + + hidden_field_tag('send_notification', '0', :id => nil) + check_box_tag('send_notification', '1', true)) From 5ab9ed889cf01d72925ceaa899e684956e4135d6 Mon Sep 17 00:00:00 2001 From: Romano Licker Date: Thu, 20 Oct 2011 17:28:29 +0200 Subject: [PATCH 03/27] [#667] added invisible project scope label --- app/helpers/search_helper.rb | 1 + config/locales/de.yml | 1 + config/locales/en.yml | 1 + 3 files changed, 3 insertions(+) diff --git a/app/helpers/search_helper.rb b/app/helpers/search_helper.rb index 6bc9b1d4..b03552b8 100644 --- a/app/helpers/search_helper.rb +++ b/app/helpers/search_helper.rb @@ -43,6 +43,7 @@ module SearchHelper options << [l(:label_my_projects), 'my_projects'] unless User.current.memberships.empty? options << [l(:label_and_its_subprojects, @project.name), 'subprojects'] unless @project.nil? || @project.descendants.active.empty? options << [@project.name, ''] unless @project.nil? + label_tag("scope", l(:description_project_scope), :class => "hidden-for-sighted") + select_tag('scope', options_for_select(options, params[:scope].to_s)) if options.size > 1 end diff --git a/config/locales/de.yml b/config/locales/de.yml index 128750da..a14b61c8 100644 --- a/config/locales/de.yml +++ b/config/locales/de.yml @@ -982,3 +982,4 @@ de: label_path_encoding: Path encoding text_mercurial_repo_example: local repository (e.g. /hgrepo, c:\hgrepo) label_diff: diff + description_project_scope: Suchbereich diff --git a/config/locales/en.yml b/config/locales/en.yml index e0614bac..1512156b 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -964,3 +964,4 @@ en: enumeration_doc_categories: Document categories enumeration_activities: Activities (time tracking) enumeration_system_activity: System Activity + description_project_scope: Search scope From cd7b30dac616a573298a27f33600ddbc7ad4939d Mon Sep 17 00:00:00 2001 From: Romano Licker Date: Thu, 20 Oct 2011 17:29:21 +0200 Subject: [PATCH 04/27] [#667] added invisible search label --- app/views/search/index.rhtml | 1 + config/locales/de.yml | 1 + config/locales/en.yml | 1 + 3 files changed, 3 insertions(+) diff --git a/app/views/search/index.rhtml b/app/views/search/index.rhtml index 02833a5d..e6be11f9 100644 --- a/app/views/search/index.rhtml +++ b/app/views/search/index.rhtml @@ -2,6 +2,7 @@
<% form_tag({}, :method => :get) do %> +<%= label_tag "search-input", l(:description_search), :class => "hidden-for-sighted" %>

<%= text_field_tag 'q', @question, :size => 60, :id => 'search-input' %> <%= javascript_tag "Field.focus('search-input')" %> <%= project_select_tag %> diff --git a/config/locales/de.yml b/config/locales/de.yml index a14b61c8..fcc49dd7 100644 --- a/config/locales/de.yml +++ b/config/locales/de.yml @@ -982,4 +982,5 @@ de: label_path_encoding: Path encoding text_mercurial_repo_example: local repository (e.g. /hgrepo, c:\hgrepo) label_diff: diff + description_search: Suchfeld description_project_scope: Suchbereich diff --git a/config/locales/en.yml b/config/locales/en.yml index 1512156b..af0766b8 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -964,4 +964,5 @@ en: enumeration_doc_categories: Document categories enumeration_activities: Activities (time tracking) enumeration_system_activity: System Activity + description_search: Searchfield description_project_scope: Search scope From bf23c06d9341d37fc74812e50a6d345a75af6e21 Mon Sep 17 00:00:00 2001 From: Romano Licker Date: Thu, 20 Oct 2011 17:36:55 +0200 Subject: [PATCH 05/27] [#667] added invisible labels for queries --- app/views/queries/_columns.rhtml | 8 ++++++-- app/views/queries/_filters.rhtml | 1 + app/views/queries/_form.rhtml | 10 ++++++---- config/locales/de.yml | 5 +++++ config/locales/en.yml | 5 +++++ 5 files changed, 23 insertions(+), 6 deletions(-) diff --git a/app/views/queries/_columns.rhtml b/app/views/queries/_columns.rhtml index f96d87b0..6c2eda4e 100644 --- a/app/views/queries/_columns.rhtml +++ b/app/views/queries/_columns.rhtml @@ -1,6 +1,8 @@ - @@ -10,7 +12,9 @@ - diff --git a/app/views/queries/_filters.rhtml b/app/views/queries/_filters.rhtml index 1c67f580..5cf9825d 100644 --- a/app/views/queries/_filters.rhtml +++ b/app/views/queries/_filters.rhtml @@ -85,6 +85,7 @@ Event.observe(document,"dom:loaded", apply_filters_observer); - +
<%= select_tag 'available_columns', + + <%= label_tag "available_columns", l(:description_available_columns), :class => "hidden-for-sighted" %> + <%= select_tag 'available_columns', options_for_select((query.available_columns - query.columns).collect {|column| [column.caption, column.name]}), :multiple => true, :size => 10, :style => "width:150px" %> <%= select_tag 'c[]', + + <%= label_tag "selected_columns", l(:description_selected_columns), :class => "hidden-for-sighted" %> + <%= select_tag 'c[]', options_for_select(query.columns.collect {|column| [column.caption, column.name]}), :id => 'selected_columns', :multiple => true, :size => 10, :style => "width:150px" %> + <%= label_tag "op_#{field}", l(:description_filter), :class => "hidden-for-sighted" %> <%= select_tag "op[#{field}]", options_for_select(operators_for_select(options[:type]), query.operator_for(field)), :id => "operators_#{field}", :onchange => "toggle_operator('#{field}');", :class => "select-small", :style => "vertical-align: top;" %> diff --git a/app/views/queries/_form.rhtml b/app/views/queries/_form.rhtml index dcafe9f6..39486d90 100644 --- a/app/views/queries/_form.rhtml +++ b/app/views/queries/_form.rhtml @@ -30,10 +30,12 @@
<%= l(:label_sort) %> <% 3.times do |i| %> -<%= i+1 %>: <%= select_tag("query[sort_criteria][#{i}][]", - options_for_select([[]] + query.available_columns.select(&:sortable?).collect {|column| [column.caption, column.name.to_s]}, @query.sort_criteria_key(i))) %> - <%= select_tag("query[sort_criteria][#{i}][]", - options_for_select([[], [l(:label_ascending), 'asc'], [l(:label_descending), 'desc']], @query.sort_criteria_order(i))) %>
+<%= i+1 %>: +<%= label_tag "query_sort_criteria_attribute_" + i.to_s, l(:description_query_sort_criteria_attribute), :class => "hidden-for-sighted" %> +<%= select_tag("query[sort_criteria][#{i}][]", options_for_select([[]] + query.available_columns.select(&:sortable?).collect {|column| [column.caption, column.name.to_s]}, @query.sort_criteria_key(i)), :id => "query_sort_criteria_attribute_" + i.to_s)%> +<%= label_tag "query_sort_criteria_direction_" + i.to_s, l(:description_query_sort_criteria_direction), :class => "hidden-for-sighted" %> +<%= select_tag("query[sort_criteria][#{i}][]", options_for_select([[], [l(:label_ascending), 'asc'], [l(:label_descending), 'desc']], @query.sort_criteria_order(i)), :id => "query_sort_criteria_direction_" + i.to_s) %> +
<% end %>
diff --git a/config/locales/de.yml b/config/locales/de.yml index fcc49dd7..30096da3 100644 --- a/config/locales/de.yml +++ b/config/locales/de.yml @@ -982,5 +982,10 @@ de: label_path_encoding: Path encoding text_mercurial_repo_example: local repository (e.g. /hgrepo, c:\hgrepo) label_diff: diff + description_filter: Filter description_search: Suchfeld description_project_scope: Suchbereich + description_query_sort_criteria_attribute: Sortierattribut + description_query_sort_criteria_direction: Sortierrichtung + description_available_columns: Verfügbare Spalten + description_selected_columns: Ausgewählte Spalten diff --git a/config/locales/en.yml b/config/locales/en.yml index af0766b8..0a15b1ab 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -964,5 +964,10 @@ en: enumeration_doc_categories: Document categories enumeration_activities: Activities (time tracking) enumeration_system_activity: System Activity + description_filter: Filter description_search: Searchfield description_project_scope: Search scope + description_query_sort_criteria_attribute: Sort attribute + description_query_sort_criteria_direction: Sort direction + description_available_columns: Available Columns + description_selected_columns: Selected Spalten From 0f5d38ca4b2d4188a44bd34d30be333422844231 Mon Sep 17 00:00:00 2001 From: Romano Licker Date: Thu, 20 Oct 2011 17:41:40 +0200 Subject: [PATCH 06/27] [#667] linked labels to their elements --- app/views/issue_moves/new.rhtml | 10 +++++----- app/views/issues/bulk_edit.rhtml | 22 +++++++++++----------- app/views/issues/index.rhtml | 2 +- 3 files changed, 17 insertions(+), 17 deletions(-) diff --git a/app/views/issue_moves/new.rhtml b/app/views/issue_moves/new.rhtml index 6f2935e1..f1327ad7 100644 --- a/app/views/issue_moves/new.rhtml +++ b/app/views/issue_moves/new.rhtml @@ -26,17 +26,17 @@ <%= select_tag "new_tracker_id", "" + options_from_collection_for_select(@trackers, "id", "name") %>

- + <%= select_tag('status_id', "" + options_from_collection_for_select(@available_statuses, :id, :name)) %>

- + <%= select_tag('priority_id', "" + options_from_collection_for_select(IssuePriority.all, :id, :name)) %>

- + <%= select_tag('assigned_to_id', content_tag('option', l(:label_no_change_option), :value => '') + content_tag('option', l(:label_nobody), :value => 'none') + options_from_collection_for_select(@target_project.assignable_users, :id, :name)) %> @@ -45,12 +45,12 @@

- + <%= text_field_tag 'start_date', '', :size => 10 %><%= calendar_for('start_date') %>

- + <%= text_field_tag 'due_date', '', :size => 10 %><%= calendar_for('due_date') %>

diff --git a/app/views/issues/bulk_edit.rhtml b/app/views/issues/bulk_edit.rhtml index eceb11b8..61bd7e4a 100644 --- a/app/views/issues/bulk_edit.rhtml +++ b/app/views/issues/bulk_edit.rhtml @@ -10,28 +10,28 @@

- + <%= select_tag('issue[tracker_id]', "" + options_from_collection_for_select(@trackers, :id, :name)) %>

<% if @available_statuses.any? %>

- + <%= select_tag('issue[status_id]', "" + options_from_collection_for_select(@available_statuses, :id, :name)) %>

<% end %>

- + <%= select_tag('issue[priority_id]', "" + options_from_collection_for_select(IssuePriority.all, :id, :name)) %>

- + <%= select_tag('issue[assigned_to_id]', content_tag('option', l(:label_no_change_option), :value => '') + content_tag('option', l(:label_nobody), :value => 'none') + options_from_collection_for_select(@assignables, :id, :name)) %>

<% if @project %>

- + <%= select_tag('issue[category_id]', content_tag('option', l(:label_no_change_option), :value => '') + content_tag('option', l(:label_none), :value => 'none') + options_from_collection_for_select(@project.issue_categories, :id, :name)) %> @@ -40,7 +40,7 @@ <% #TODO: allow editing versions when multiple projects %> <% if @project %>

- + <%= select_tag('issue[fixed_version_id]', content_tag('option', l(:label_no_change_option), :value => '') + content_tag('option', l(:label_none), :value => 'none') + version_options_for_select(@project.shared_versions.open.sort)) %> @@ -48,7 +48,7 @@ <% end %> <% @custom_fields.each do |custom_field| %> -

<%= custom_field_tag_for_bulk_edit('issue', custom_field) %>

+

<% end %> <%= call_hook(:view_issues_bulk_edit_details_bottom, { :issues => @issues }) %> @@ -57,23 +57,23 @@
<% if @project && User.current.allowed_to?(:manage_subtasks, @project) %>

- + <%= text_field_tag 'issue[parent_issue_id]', '', :size => 10 %>

<%= javascript_tag "observeParentIssueField('#{auto_complete_issues_path(:project_id => @project) }')" %> <% end %>

- + <%= text_field_tag 'issue[start_date]', '', :size => 10 %><%= calendar_for('issue_start_date') %>

- + <%= text_field_tag 'issue[due_date]', '', :size => 10 %><%= calendar_for('issue_due_date') %>

<% if Issue.use_field_for_done_ratio? %>

- + <%= select_tag 'issue[done_ratio]', options_for_select([[l(:label_no_change_option), '']] + (0..10).to_a.collect {|r| ["#{r*10} %", r*10] }) %>

<% end %> diff --git a/app/views/issues/index.rhtml b/app/views/issues/index.rhtml index 18df5a6b..122b0c06 100644 --- a/app/views/issues/index.rhtml +++ b/app/views/issues/index.rhtml @@ -26,7 +26,7 @@
<%= render :partial => 'queries/columns', :locals => {:query => @query} %>
<%= l(:field_group_by) %> <%= select_tag('group_by', options_for_select([[]] + @query.groupable_columns.collect {|c| [c.caption, c.name.to_s]}, @query.group_by)) %>
From 2e688efa704d9cdbe9ea6cb6424f0ed93471d8ae Mon Sep 17 00:00:00 2001 From: Romano Licker Date: Thu, 20 Oct 2011 17:42:32 +0200 Subject: [PATCH 07/27] [#667] link label to element --- app/views/layouts/base.rhtml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/views/layouts/base.rhtml b/app/views/layouts/base.rhtml index ea485225..553d743d 100644 --- a/app/views/layouts/base.rhtml +++ b/app/views/layouts/base.rhtml @@ -37,7 +37,9 @@