W3C home > Mailing lists > Public > public-html@w3.org > October 2014

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

From: Marco Zehe <mzehe@mozilla.com>
Date: Thu, 16 Oct 2014 15:09:17 +0200
Message-ID: <543FC37D.90406@mozilla.com>
To: public-html@w3.org
CC: W3C WAI Protocols & Formats <public-pfwg@w3.org>
[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

  * 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:

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

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

This archive was generated by hypermail 2.4.0 : Saturday, 9 October 2021 18:46:11 UTC