This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.

Bug 13539 - Specify reading and navigation order
Summary: Specify reading and navigation order
Status: CLOSED NEEDSINFO
Alias: None
Product: HTML WG
Classification: Unclassified
Component: LC1 HTML5 spec (show other bugs)
Version: unspecified
Hardware: All All
: P2 normal
Target Milestone: ---
Assignee: Greg Lowney
QA Contact: HTML WG Bugzilla archive list
URL:
Whiteboard:
Keywords: a11y, a11y_ua
Depends on:
Blocks:
 
Reported: 2011-08-02 22:40 UTC by Greg Lowney
Modified: 2014-02-26 18:46 UTC (History)
11 users (show)

See Also:


Attachments

Description Greg Lowney 2011-08-02 22:40:16 UTC
Authors should be able to specify preferred direction and/or order for sequential navigation, even among things such as tables that would not normally have a tab order.

Use case: Masahiko is reading a web page, and uses browser commands to move the text cursor to the next and previous paragraphs. In most cases this works fine because the suggested reading order is that in which elements occur in the HTML. However, when Masahiko encounters a table that is designed to be read down the columns rather than across the rows, this simplistic navigation is entirely inappropriate. A similar problem occurs when CSS is used to rearrange blocks of text on the screen.

Recommendation: Allow marking up a table to indicate whether the preferred reading order is by columns, by rows, both (either being equally valid), neither (not designed to be read by columns or rows), or left unspecified. This could be done with a new attribute, such as orientation="columns".
Comment 1 Kornel Lesinski 2011-08-03 20:53:54 UTC
CSS case is same as in http://www.w3.org/Bugs/Public/show_bug.cgi?id=13540

Would <th scope=col> be sufficient signal for UA that table can be read by columns?
Comment 2 Greg Lowney 2011-08-03 23:15:41 UTC
Someone commented that the HTML4 @axis attribute might be relevant to this discussion. This attribute has been removed from HTML5.
Comment 3 Michael[tm] Smith 2011-08-04 05:05:49 UTC
mass-moved component to LC1
Comment 4 Michael[tm] Smith 2011-11-20 15:17:40 UTC
Greg, this bug is waiting on you response to to comment #1:
> CSS case is same as in http://www.w3.org/Bugs/Public/show_bug.cgi?id=13540
> 
> Would <th scope=col> be sufficient signal for UA that table can be read by
> columns?
Comment 5 Ian 'Hixie' Hickson 2011-11-24 02:46:08 UTC
EDITOR'S RESPONSE: This is an Editor's Response to your comment. If you are satisfied with this response, please change the state of this bug to CLOSED. If you have additional information and would like the editor to reconsider, please reopen this bug. If you would like to escalate the issue to the full HTML Working Group, please add the TrackerRequest keyword to this bug, and suggest title and text for the tracker issue; or you may create a tracker issue yourself, if you are able to do so. For more details, see this document:
   http://dev.w3.org/html5/decision-policy/decision-policy.html

Status: Did Not Understand Request
Change Description: no spec change
Rationale: I don't understand. Surely tables are designed to be read in 2 dimensions, not horizontally or vertically.
Comment 6 Greg Lowney 2012-01-16 23:02:47 UTC
<th scope="col"> would not be sufficient for tables because it is only usable on tables that have heading rows or columns, whereas tables are often used without them. Thus, tables require a separate attribute such as orientation="columns".

In addition, it's worth considering that tables are only one example of the general problem of reading order being different from document order. Another case is documents assembled from component parts (in some cases by automated systems rather than by hand), such as appending the footer at the end of the source file even though it may logically come at the beginning.

A common example of the latter is many news web sites where selecting an article and its title also selects a sidebar because it immediately follows the title in the source document, even though visually it appears to follow the article, being displayed in a separate column on the right.

Because reading order not obvious to visual users who prefer mouse input, it can be easily overlooked by content authors, and users might benefit from the ability to to correct or compensate for these problems by altering reading/navigation order through user style sheets or equivalent.
Comment 7 Benjamin Hawkes-Lewis 2012-01-17 00:05:51 UTC
(In reply to comment #6)
> <th scope="col"> would not be sufficient for tables because it is only usable
> on tables that have heading rows or columns, whereas tables are often used
> without them. Thus, tables require a separate attribute such as
> orientation="columns".

Can you point to an example of the sort of table you have in mind?

> In addition, it's worth considering that tables are only one example of the
> general problem of reading order being different from document order. 

[snip]

> A common example of the latter is many news web sites where selecting an
> article and its title also selects a sidebar because it immediately follows the
> title in the source document, even though visually it appears to follow the
> article, being displayed in a separate column on the right.

The general problem of allowing authors to distinguishing a logical order from a visual layout order will be solved by CSS features currently in draft:

    http://www.w3.org/TR/css3-grid-layout/

    http://www.w3.org/TR/2011/WD-css3-regions-20111129/

Even when visual layout order is incorrectly pushed into the HTML layer, authors can use the @aria-flowto attribute to indicate a logical reading order:

    http://www.w3.org/TR/wai-aria/states_and_properties#aria-flowto

Why do you think we should introduce additional HTML features for this?