Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 326092 - [Webapp] Eclipse help system content panel tree component is unusable by people using screen readers
Summary: [Webapp] Eclipse help system content panel tree component is unusable by peop...
Status: RESOLVED FIXED
Alias: None
Product: Platform
Classification: Eclipse Project
Component: User Assistance (show other bugs)
Version: 3.6   Edit
Hardware: PC Windows XP
: P2 critical (vote)
Target Milestone: 3.7 M3   Edit
Assignee: Chris Goldthorpe CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 327827
  Show dependency tree
 
Reported: 2010-09-23 15:24 EDT by Rich Schwerdtfeger CLA
Modified: 2010-10-15 13:17 EDT (History)
2 users (show)

See Also:


Attachments
Patch (6.96 KB, patch)
2010-09-27 17:59 EDT, Chris Goldthorpe CLA
no flags Details | Diff
Additional patch to write role information for all browsers and suppress expansion state attribute on tree root (1.01 KB, patch)
2010-10-01 16:24 EDT, Chris Goldthorpe CLA
no flags Details | Diff
Patch for 3.6 maintenance stream (6.95 KB, patch)
2010-10-06 12:09 EDT, Chris Goldthorpe CLA
no flags Details | Diff
Patch for 3.4 maintenance stream (6.48 KB, patch)
2010-10-06 12:30 EDT, Chris Goldthorpe CLA
no flags Details | Diff
Additional patch to add aria-level (868 bytes, patch)
2010-10-07 12:42 EDT, Chris Goldthorpe CLA
no flags Details | Diff
Patch for 3.6 maintenance stream including aria-level (6.95 KB, patch)
2010-10-07 12:46 EDT, Chris Goldthorpe CLA
no flags Details | Diff
Patch for 3.4 maintenance stream including aria-level (6.40 KB, patch)
2010-10-07 12:54 EDT, Chris Goldthorpe CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Rich Schwerdtfeger CLA 2010-09-23 15:24:16 EDT
Build Identifier: 

This was originally fixed in defect 131958. Since then the WAI-ARIA specification changed such that it no longer uses namespaces. Consequently, ARIA semantics are not recognized, not mapped to accessibility APIs, and not spoken by screen readers.

What I believe the change is that needs to be made is:

So, the namespaces go. role attributes and their values are no longer namespaced. ARIA states and properties become aria- followed by the value.

x2:role="wairole:tree" 

becomes

role="tree"

and

waistate:expanded="true"

becomes aria-expanded="true"

so, 

where you have 

That would change this snippet:


<div x2:role="wairole:tree" tabindex="-1" class="tree"
onclick="return treeItemClick(event);"
ondblclick="return treeItemEvent(event);"
onkeydown="return treeItemEvent(event);"
onkeypress="return treeItemEvent(event);" id="tree">
<div id="veggieDiv"><img src="minus.gif" tabindex="-1"
x2:role="wairole:presentation" onclick="imgToggle(event);" alt=""><span
tabindex="0" x2:role="wairole:treeitem" waistate:expanded="true"

To:

<div role="tree" tabindex="-1" class="tree"
onclick="return treeItemClick(event);"
ondblclick="return treeItemEvent(event);"
onkeydown="return treeItemEvent(event);"
onkeypress="return treeItemEvent(event);" id="tree">
<div id="veggieDiv"><img src="minus.gif" tabindex="-1"
role="presentation" onclick="imgToggle(event);" alt=""><span
tabindex="0" role="treeitem" aria-expanded="true"

Here are some examples:

http://test.cita.illinois.edu/aria/tree/tree1.php
http://codetalks.org/source/widgets/tree/tree.html

It is important that we keep the structure (tree, treeitem, groups, etc.)


Reproducible: Always

Steps to Reproduce:
1. simply bring up eclipse help
2. Start the JAWS screen reader
3. navigate to the navigation panel (tree widget) and navigate it with the keyboard.
4. You will not be able to use the arrow keys to navigate the navigate the navigation tree folders on the left hand side of the help screen and JAWS will not read them. If you tab between tree items JAWS will call them links
4. If it is fixed JAWS will not steal the keyboard keys used to open and close folders and you will hear the tree items or folders and their expanded/collapsed state as well as folder depth information along with the number of elements at that level.
5. without this blind computer users cannot access Eclipse help
Comment 1 Rich Schwerdtfeger CLA 2010-09-23 15:30:35 EDT
This needs to be fixed in Eclipse 3.6-3.7. The bug exists as far back as Eclipse 3.3.
Comment 2 Chris Goldthorpe CLA 2010-09-27 17:59:03 EDT
Created attachment 179694 [details]
Patch

This patch writes the ARIA accessibility attributes for browsers other than IE.
Comment 3 Chris Goldthorpe CLA 2010-09-28 12:15:04 EDT
Patch committed to HEAD. I will allow for a day or two of testing before porting this back to previous versions of Eclipse.
Comment 4 Chris Goldthorpe CLA 2010-10-01 16:24:44 EDT
Created attachment 180087 [details]
Additional patch to write role information for all browsers and suppress expansion state attribute on tree root

This patch has been committed to HEAD.
Comment 5 Chris Goldthorpe CLA 2010-10-06 12:09:51 EDT
Created attachment 180347 [details]
Patch for 3.6 maintenance stream
Comment 6 Chris Goldthorpe CLA 2010-10-06 12:30:45 EDT
Created attachment 180348 [details]
Patch for 3.4 maintenance stream
Comment 7 Chris Goldthorpe CLA 2010-10-07 12:42:42 EDT
Created attachment 180439 [details]
Additional patch to add aria-level
Comment 8 Chris Goldthorpe CLA 2010-10-07 12:46:44 EDT
Created attachment 180440 [details]
Patch for 3.6 maintenance stream including aria-level
Comment 9 Chris Goldthorpe CLA 2010-10-07 12:54:43 EDT
Created attachment 180441 [details]
Patch for 3.4 maintenance stream including aria-level
Comment 10 Chris Goldthorpe CLA 2010-10-14 19:22:09 EDT
Note that the patch for the 3.6 maintenance stream also works for the Eclipse 3.5 maintenance stream.
Comment 11 Chris Goldthorpe CLA 2010-10-15 13:17:55 EDT
The 3.5 maintenance stream has been updated using "Patch for 3.6 maintenance stream including aria-level" and the bundle version of org.eclipse.help.webapp has been incremented to 3.4.3