Bug 365363 - use of HTML5 section elements, ARIA landmark roles, etc.
Summary: use of HTML5 section elements, ARIA landmark roles, etc.
Status: RESOLVED FIXED
Alias: None
Product: Orion (Archived)
Classification: ECD
Component: Client (show other bugs)
Version: 0.3   Edit
Hardware: PC Windows 7
: P3 normal (vote)
Target Milestone: 0.5 M1   Edit
Assignee: Max Li CLA
QA Contact:
URL:
Whiteboard:
Keywords: accessibility
Depends on:
Blocks: 365361
  Show dependency tree
 
Reported: 2011-12-01 15:59 EST by Susan McCourt CLA
Modified: 2012-04-04 22:22 EDT (History)
3 users (show)

See Also:
maxli: review?


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Susan McCourt CLA 2011-12-01 15:59:38 EST
In discussing Orion accessibility issues with Carolyn, she mentioned the HTML5 section elements, such as header, footer, etc.  Some assistive technologies may make use of these semantic tags, so we need to think about whether we should be using them in our page markup.

Some blog posts suggest that using existing (landmark) roles may cover everything.
http://www.paciellogroup.com/blog/2011/03/html5-accessibility-chops-section-elements/

Carolyn will provide links/advice on this issue.
Comment 1 Carolyn MacLeod CLA 2011-12-01 16:26:08 EST
It seems that, for now, the recommendation is to use the new HTML5 tags in conjunction with ARIA roles.
The link Susan added in comment 0 and the following link, which has sample screen reader output (from January 2011), basically say the same thing: http://cssgallery.info/how-screen-readers-speak-a-page-with-html5-and-aria/
Comment 2 Carolyn MacLeod CLA 2011-12-01 17:29:41 EST
Good ARIA landmark role/HTML5 structural elements comparison table here:
http://www.paciellogroup.com/blog/2010/10/using-wai-aria-landmark-roles/#table1
Comment 3 Carolyn MacLeod CLA 2011-12-02 01:29:06 EST
Recent table (Nov/11) showing screen reader support of ARIA landmark roles.
http://www.html5accessibility.com/tests/landmarks.html
Bottom line is that the screen reader support is there (the notable exception being Window Eyes). The links don't mention Orca (the Linux screen reader) however a web search shows that it does support ARIA landmark roles.
Comment 4 Max Li CLA 2012-01-30 19:41:22 EST
I've made an initial attempt at adding the HTML5 elements and ARIA roles. Hopefully I got them all.

Here is the commit (in the bug365363 branch).

https://github.com/max-li/orion.client/commit/825de9f286773c9ea62f4526c924b44161f26c47
Comment 5 Susan McCourt CLA 2012-01-31 12:23:53 EST
Thanks, Max.  It so happens that the common header fragments moved to a new file the same day of this patch, but I think I can handle a manual merge.  

What behaviors change (if any) change when adding these roles and no screen reader is present?  We are in the end game of a release so I want to understand the possible risks before adopting this now (vs. early in next release).
Comment 6 Max Li CLA 2012-01-31 12:40:53 EST
Nothing at all should change when not using a screen reader.
Comment 7 Susan McCourt CLA 2012-01-31 21:16:41 EST
will look at this for RC1
Comment 8 John Arthorne CLA 2012-02-01 08:58:20 EST
I suspect it doesn't matter from an accessibility perspective, but I thought some of our divs would also become <section> or even <article> elements. I guess until we have concrete uses for making the distinction we can just focus on the ones that impact accessibility (calling out header, footer, and nav elements).
Comment 9 Susan McCourt CLA 2012-02-01 13:44:46 EST
(In reply to comment #8)
> I suspect it doesn't matter from an accessibility perspective, but I thought
> some of our divs would also become <section> or even <article> elements. I
> guess until we have concrete uses for making the distinction we can just focus
> on the ones that impact accessibility (calling out header, footer, and nav
> elements).

yes.
The new "sectional style" pages such as the repo page I believe are already using sections.  I'd like to see us use "sections" for any sub-pane on a page, but I think that's a semantic thing and also not a 0.4 thing.
Comment 10 Carolyn MacLeod CLA 2012-02-01 15:42:23 EST
Regarding <section> and <article>, while they are not technically "landmarks" (they are "structural elements"), JAWS considers them to be landmarks and treats them in a similar way: announcing when the user enters and leaves them, and providing navigation to them with the "next landmark" (;), "previous landmark" (shift+;) and "list landmarks" (ctrl+ins+;) keyboard commands.

In order for this to work, you need to use both the HTML5 tag and the ARIA role, for example:
<section role="region">
<article role="article">

Here's a reasonably current slide presentation on how the latest versions of several popular screen readers handle HTML5 and ARIA landmark roles.
The best results always come from specifying both the HTML5 element and the corresponding ARIA role. Please note page 9 of this presentation, which can basically be used as a quick-reference page for coding the HTML5 elements with accessibility in mind.
http://environmentsforhumans.com/2011/accessibility-summit/presentations/Kiss-a11ysummit-screenreaders.pdf
Comment 11 Max Li CLA 2012-02-03 15:07:15 EST
I've added section elements and region roles to pages where I believe they're appropriate. 

I've put the changes in the following commit (in the bug365363sections branch).

https://github.com/max-li/orion.client/commit/be0689df2f50cf217daea34c9939a3973d40cb5f
Comment 12 Susan McCourt CLA 2012-02-03 15:16:38 EST
(In reply to comment #11)
> I've added section elements and region roles to pages where I believe they're
> appropriate. 
> 
> I've put the changes in the following commit (in the bug365363sections branch).
> 
> https://github.com/max-li/orion.client/commit/be0689df2f50cf217daea34c9939a3973d40cb5f

Wow, thanks Max.
From a release 0.4 point of view, I first intend to fix bug 367220 because it deals with sections and common section behavior.  Having done this, it will become clearer whether the fix you propose is necessary or not.  I'm trying to get it where the code that needs "a pane" calls common code to create the proper template rather than each do it their own way.

We need to get all the 0.4 functionality in and then revisit this bug and see how far we want to go in this release.
Comment 13 Susan McCourt CLA 2012-02-07 12:46:12 EST
Max, there are some big commits coming in today (hopefully) in settings and other places.  A lot has changed.  

So I'm going to ask you for a single commit for this bug that is merged with the latest (NOT YET...please wait for a ping).  Sorry to have to ask for that, but we've got to get the RC1 committed fixes in first and then revisit what we want to do here.

Please stand by....
(thanks!)
Comment 14 Susan McCourt CLA 2012-02-10 12:45:34 EST
i think the churn is limited gain for 0.4, lets hit this early in 0.5.
Sorry, Max.  I indeed appreciate the effort but I don't feel confident we could flesh out unintended side effects releasing this during the RC's.

I will ping when we want to look at this.
Comment 15 Susan McCourt CLA 2012-04-03 11:39:54 EDT
(In reply to comment #14)
> i think the churn is limited gain for 0.4, lets hit this early in 0.5.
> Sorry, Max.  I indeed appreciate the effort but I don't feel confident we could
> flesh out unintended side effects releasing this during the RC's.
> 
> I will ping when we want to look at this.

ping.  Assigning to max.  I know he's done some work on this in other bugs.
Comment 17 Susan McCourt CLA 2012-04-04 22:22:05 EDT
(In reply to comment #16)
> Fixed with
> 
> http://git.eclipse.org/c/orion/org.eclipse.orion.client.git/commit/?id=b1063ea6166bdd6261d99be0f828f6bc8c7a6a43

thanks, Max, for preparing this again!!