W3C home > Mailing lists > Public > www-archive@w3.org > February 2011

HTML 5 Issue 130 Objection to

From: Richard Schwerdtfeger <schwer@us.ibm.com>
Date: Thu, 24 Feb 2011 08:35:21 -0600
To: www-archive@w3.org
Cc: Sam Ruby <rubys@us.ibm.com>
Message-ID: <OFCC029F83.8139B129-ON86257841.004CA67E-86257841.00502412@us.ibm.com>


This is an objection to the following Change Proposal (Disallow tables to
be used for presentational purposes) for Issue 130
http://www.w3.org/html/wg/wiki/ChangeProposals/NoLayoutTable
The problems with this change proposal are numerous, especially given that
no change the existing specification draft is mentioned.

- The change proposal points to HTML 4's stating that tables should not be
used for layout. HTML 4 has numerous shortcomings non-the-least the
expectation that authors would use HTML to produce rich web applications
- Virtually, all rich web applications today and web renderings of
databases use tables for layout. The reason is that tables provide a
consistent layout across browsers. If web validators were actually able to
validate HTML at run time virtually every rich web application would fail
compliance. gmail, facebook, yahoo mail, and virtually every IBM Web
application shipped today would fail HTML conformance. I encourage all the
HTML chairs to any of their favorite social collaboration web sites or
their own company's social collaboration tools (Sam open Connections),
launch their debugger (Firebug, the IE 9 debugger, etc.) and do a search
for table.
- Virtually every RIA component library uses tables for layout for the
reasons mentioned above.
- This change proposal states we should encourage authoring practices that
lead to better accessibility. The editors arguments are incredibly flawed.
First, using reverse-engineered heuristics to establish the semantic nature
of something is flawed. Declaratively marking a table with
role="presentation" is about as clear as it gets. It also directs the
browser how to clearly remove the unncecessary table objects from the
platform accessibility API. Second, a winning accessibility strategy is one
that does not put an incredible burden on the author. Expecting authors to
rewrite their web applications to support such a pervasive coding change as
to use CSS table layouts only infuriates the development community
resulting in tremendous pushback on accessibility in organizations. It is
much less invasive to add an attribute to convey the intent of the author.
- The "change proposal" states that we should encourage markup patterns
that address device independence. There is no question that using CSS for
table layout is a better fit for most web content running across devices.
However, authors don't need to be treated like children by forcing a
conformance requirement on them that causes conformance failures across all
desktop-targeted solutions. Anyone working in a corporation intending to
target their product for specific devices can make can make the technical
decision to either uses tables for layout or CSS table styling. Now, if the
author is going to make the decision for the same content to be rendered in
desktop browsers and mobile devices they will also be addressing the
backward compatibility issue of CSS table styling working in older browsers
like IE. One of the things that the editor prices himself of is that old
content still being rendered but the argument seems to be hypocritical as
at the same time the markup is non-conformant.
- The address the point on evangelism, the editor states that replacing
still-correct good advice with seemingly contradictory nuanced advice harms
accessibility. First, I think the argument above addresses the
accessibility issue. Second, the HTML 5 specification, as currently
written, does not just give advice it makes advice a conformance claim the
industry has clearly ignored for over a decade despite the statements in
the HTML 4 specification.
- The editor states tables are a poor solution for layout and makes some
very valid points. Yet, the reason developers use tables for layout is
that, unlike CSS, they have proven to provide a consistent layout across
browser implementations where CSS has not. I encourage the editor, to
actually spend time discussing his points with developers of GMail,
Facebook, Dojo, and YUI and discuss why they are unable to use CSS table
layout.
- The editor makes a statement that authors are moving away from tables for
layout. If that is the case then there should be no reason make using
tables for layout a conformance issue.
- Overall the editor has asked that the HTML 5 specification encourage
tables for layout. The other change proposal does that by making the
following changes to the specification:

"Tables should not be used as layout aids. Historically, many Web authors
have tables in HTML as a way to control their page layout making it
difficult to extract tabular data from such documents. In particular, users
of accessibility tools, like screen readers, are likely to find it very
difficult to navigate pages with tables used for layout. If a table is to
be used for layout it must be marked with the attribute role="presentation"
for a user agent to properly represent the table to an assistive technology
and to properly convey the intent of the author to tools that wish to
extract tabular data from the document.
There are a variety of alternatives to using HTML tables for layout,
primarily using CSS positioning and the CSS table model. "

- The only way to accurately detect a conformance violation is if the
author set role="presentation" on the table thus penalizing authors for
producing accessible content. This can't be allowed. The editor previously
indicated that ARIA afforded him the benefit of detecting when an author
did something that he felt was nonconformant.
- I spoke to members of the Dojo development community and they found that
using CSS was a lot of extra work and less intuitive than using CSS
styling. This means developers will continue to use tables for layout. If
that is true then we need to make them aware of using  role="presentation"
and make lessen the conformance for not using tables from a MUST NOT to a
SHOULD NOT use tables for layout.
- One comment from Dojo developers was that the proposal (Disallow tables
to be used for presentational purposes ) invalidates 80% of the Web

Rich Schwerdtfeger
CTO Accessibility Software Group
Received on Thursday, 24 February 2011 14:36:17 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Wednesday, 7 November 2012 14:18:34 GMT