Re: Conflicting inclusion/exclusion criteria for elements in the accessibility tree (Was: Re: [ARIA] Agenda: March 3, 2016 WAI-ARIA Working Group)

Thanks Fred,

On 2016-03-16 9:50 AM, Fred Esch wrote:
> When doing a widget, it often makes sense to only have one element 
> with tabindex 0 at a time. That allows the user leave the widget using 
> tab or shift tab. If you are using arrow keys to move within the 
> widget, when you handle an arrow key event, you switch the moved to 
> element to tabindex 0 and the element you moved from to tabindex -1. 
> The developer can call the onfocus function on the moved to element as 
> part of the key event handling.

This is the "roving" tabindex technique as described in the APG [1].  It 
doesn't suffer from the problem described in the HTML5 spec, since it 
provides navigation for a keyboard-only user.

The HTML5 spec is addressing the case where there is no such 
provision.   Using your example:  if there was no script for the arrow 
keystrokes, then a keyboard-only user would be stuck, since there would 
be no way they could navigate among the elements with a negative 
tabindex.  In that case, HTML5 suggests that the "... user agent would 
be well justified in allowing the user to tab to the control 
regardless". [2]

How the user agent determines this condition is beyond me.  A better 
approach would be to advise the author to make provision for 
keyboard-only users.

[1] 
http://rawgit.com/w3c/aria/master/practices/aria-practices.html#kbd_general_within
[2] https://www.w3.org/TR/html5/editing.html#negative-tabindex, 
specifically the note.

-- 
;;;;joseph.

'Die Wahrheit ist Irgendwo da Draußen. Wieder.'
                  - C. Carter -

Received on Thursday, 17 March 2016 16:08:43 UTC