Proposal to change documentation on tabindex to strongly discourage values greater 0

[CC'ing Public PFWG list for info]

Hello all!

This is a proposal to declare tabIndex values > 0 invalid in the spec
and the validator, or at least strongly advise against the use of
positive integers values for this attribute.
Rationale: The tabIndex attribute is used to make items focusable with
the keyboard and programmatically. Currently, it takes three classes of
values:

  * 0: The element is made focusable, and it is integrated into the tab
    order at its location in the DOM.
  * -1: The element is made focusable, but is skipped in the tab order,
    but can still take focus programmatically.
  * > 0: The items are put in the tab order first, and their order is
    determined by the actual value. Only if all those elements have been
    traversed via tab, does the order in the DOM take effect.

This third class of values has in the past lead to nothing but
frustration among web developers and keyboard users, judging from
feedback I get in my day to day accessibility work. Due to author error,
which mostly stems from lack of awareness, tab order on many sites that
use tabIndex improperly is erratic and not user-friendly. For further
reading on this, I suggest a post published on the Paciello Group blog
by Léonie Watson in August of 2014:
http://www.paciellogroup.com/blog/2014/08/using-the-tabindex-attribute/

Proposed changes:

 1. Include explicit advice to not use tabIndex with a value greater
    than 0 in the next version of the documentation.
 2. Change the W3C validator to spit out an error on tabIndex values
    other than 0 and -1.


Associated bug: https://www.w3.org/Bugs/Public/show_bug.cgi?id=27076

-- 
Marco

Received on Thursday, 16 October 2014 13:09:50 UTC