Opened 10 years ago

Closed 3 years ago

#8083 closed defect (patchwelcome)

TabContainer: aria-expanded state missing or improperly implemented

Reported by: Joseph Scheuhammer Owned by: bill
Priority: high Milestone: 1.13
Component: Accessibility Version: 1.2.1
Keywords: Cc: davidb
Blocked By: Blocking:

Description

According to the ARIA specs, there are three roles relevant to TabContainer, and each supports the aria-expanded state:

  • tablist - the TabContainer itself.
  • tab - the individual tab/titles within the container
  • tabpanel - the content associated with a tab.

Here is how dijit.TabContainer deals with each of these, and how to fix.

The element whose role tablist has no aria-expanded attribute at all. It should have one, with a value of true (since some panel is expanded).

The elements with role tab and tabpanel both use aria-pressed to indicate if the corresponding tabpanel is expanded or collapsed. They should use to aria-expanded instead.

Change History (5)

comment:1 Changed 10 years ago by Becky Gibson

Also note this requirement from the Nov. 14, 2008 ARIA specification, " Note: There MUST be a means to associate a tabpanel element with its associated tab in a tablist. Using the aria-labelledby property on the tabpanel to reference the tab is the recommended way to achieve this."

And, "Authors MUST ensure the currently selected tab has the aria-selected state set to true while other tab elements SHOULD have aria-selected set to false."

I'm not sure that I agree that tablist should have aria-expanded since the list itself does not expand or collapse (however the ARIA spec does indicate the expanded is supported on a tablist) - it seems that aria-selected=true provides sufficient information since I can't think of an example when a tab would be selected and NOT also expanded?

comment:2 Changed 10 years ago by Becky Gibson

will address for the next Firefox release - marking as future

comment:3 Changed 10 years ago by Becky Gibson

Milestone: tbdfuture

comment:4 Changed 8 years ago by Chris Mitchell

Owner: changed from Becky Gibson to bill

reassign due to inactive committer. please triage accordingly.

comment:5 Changed 3 years ago by dylan

Milestone: future1.12
Resolution: patchwelcome
Status: newclosed

A pull request would be welcome for this, but given the lack of activity over the past 8 years, I'm closing this one.

Note: See TracTickets for help on using tickets.