Ticket #3525 (open bug)

Opened 5 years ago

Last modified 8 months ago

Selectable: Add ARIA semantics to Selectable

Reported by: davidb Owned by: scott.gonzalez
Priority: minor Milestone: 2.0.0
Component: ui.selectable Version: 1.6rc2
Keywords: Cc: michelled
Blocking: Blocked by:

Description (last modified by davidb) (diff)

For accessibility, we should add an attribute to elements that are selectable. Using WAI-ARIA we can do the following:

  1. If an element is selectable, specify attribute aria-selected=false
  2. If an element is selectable, and selected, aria-selected=true
  3. If an element is not selectable, provide no aria-selected attribute

So in codespeak something like:

this.element.addClass("ui-selectable");

would be:

this.element.addClass("ui-selectable").ariaState("selected",false);

I wonder if we should first refactor (extract-method) such that there are one or two places where selection related classes are added or removed?

Change History

comment:1 Changed 5 years ago by davidb

  • Description modified (diff)

comment:2 Changed 5 years ago by scott.gonzalez

From #3481 (duplicate):

The "Selectable" interaction might be a good place to auto-expose the following ARIA semantics: aria-selected aria-multiselectable

The aria-multiselectable = true|false would apply to the container element. The aria-selected = true|false would apply to the selectable items. There is no aria-selectable, but if aria-selected is not undefined, selectability is assumed (by browser, and exposed to platform accessibility layer).

comment:3 Changed 4 years ago by scott.gonzalez

  • Milestone changed from TBD to 1.next

comment:4 Changed 20 months ago by scott.gonzalez

  • Component changed from [meta] ui.a11y to ui.selectable

comment:5 Changed 9 months ago by scott.gonzalez

  • Milestone changed from 1.next to 2.0.0

comment:6 Changed 8 months ago by petersendidit

  • Status changed from new to open
  • Summary changed from Add ARIA semantics to Selectable to Selectable: Add ARIA semantics to Selectable
Note: See TracTickets for help on using tickets.