Rationale for details Element Issue 93 Straw Poll is attached.

-- 
Laura L. Carlson
For details Element Issue 93 Straw Poll
http://www.w3.org/2002/09/wbs/40318/issue-93-objection-poll/results

OBJECTION SUMMARY:

1. Accessibility has not been vetted.
2. Lack of implementation.
3. Lack of styling.
4. Adding behavior presents a layering violation.

OBJECTION DETAILS:

1. Accessibility has not been thoroughly vetted or verified.

Creating elements that are inherently accessible, that provide
accessibility hooks from the get-go, with no additional work by the
author is could be a win for accessibility.

However, the accessibility of the details element has not been
thoroughly vetted or verified. It is unknown if it will be keyboard
accessible and what control there will be to open, close and override.
Examples that have been brought up are significant [1].

HTML5 lacks good specification of how this feature is accessible or
how AT devices are to render it, other than vague indications.

It is unknown without investigation the impact this element will have
on accessibility.

Not considering accessibility at the design stage has been a big
mistake for new HTML5 features.  As we all know, considering
accessibility/bolting it on after the fact is problematic not to
mention time consuming (e.g. canvas and video).

It takes time to fully vet the accessibility of a feature. One of
several examples [2] of the time it takes to merely get a topic on the
WAI agenda: In 2008 I first requested that PFWG WAI review multimedia
<audio> and <video> accessibility requirements [3]. Multimedia
requirements are only now being to be discussed [4] in the task force.

The April 20, 2010 Accessibility Task Force resolution proclaimed, "We
maintain the work item to check these elements and make them better."
[5]

However, to date no action-plan or timetable or volunteers exist, that
I am aware of, to ensure that the details element is indeed
accessible. Accessibility should not fall through the cracks. I voted
no on the task force survey regarding these features. [6] My comment
included: "The resolution states: "We maintain the work item to check
these elements and make them better. How would this work? Do we have
volunteers to do this?" as I knew I didn't have the cycles.

The **Official** Task Force Work Tracker [7] has no work item being
maintained to insure these features are made better. There are no
volunteers that I am aware of. There is no plan, which I am aware of,
for the Task Force to follow through on their promise.

If the details element is to be included the spec, it should be
accessible. I would remove point one of this objection if the proposed
action plan [8] or something similar was adopted and the task force
fulfilled their commitment to make the element better, so that that
the HTML Working Group can be assured that it has satisfied
accessibility dependencies.

If the task force does not have an official and trackable plan, the
time, or the volunteers to fulfill their commitment, the details
element should be dropped from the spec.

2. Lack of implementation

The details element lacks implementation in browsers and assistive
technology. As Jim Allan said on the accessibility task force survey,
"Creation of orphaned, poorly implemented or non-implemented elements
is not the goal". [9]

A JavaScript hack [10] does exist to patch the details element. But if
such patch jobs are needed what is the point of the element? Using
JavaScript to patch a native element, which is supposed to be a
solution for not having to write JavaScript is a non-starter. There is
no prediction of when such hacks will not be needed. It defeats the
purpose of having the details widget in the first place.

In many cases assistive technology is an interface between a user with
disability and the technology a user with no disability will use to
browse the Web. So the behavior of such assistive technology will
depend on the output given by a conventional Web browser. And if the
conventional Web browser is challenged in rendering a Web content, the
challenge will pass on to the assistive technology. In the end, the
behavior is unpredictable and may be unusable.

As Ian Hickson has said, "default state for a feature request is for
it to be rejected and the default state for a section of the spec was
for it to be eventually dropped unless the feature is widely
implemented and so important that browser vendors are actually ready
to commit money and risk interop issues over it". [11]

The details element is unproven. As the decision for issue 76 stated,
"being unproven is not necessarily a strong objection to inclusion by
itself, but it's worth considering along with other factors."  It is
one of the least mature features in the HTML5. It does not have the
maturity level of features inherited from HTML4, or even newer but
widely implemented functionality such as <canvas> or <video>.  If it
turns out to cause problems in the future, it would be unfortunate to
have the HTML5 spec encumbered with it.

No browser supports it to date. [12] It is not even a thought on HTML5
readiness charts like the one Paul Irish and Divya Manian built [13].

3. Lack of styling.

Native elements that are not styleable to suit the aesthetic desires
of developers and marketing departments will not be used. Elements
that are not used are not needed in the spec. They are excess baggage.
Default rendering and graceful degradation are unknown.

4. Adding behavior presents a layering violation.

As Shelley clarified in her Change Proposal behavior is not semantics
[14]. Tab's change proposal seems to be an attempt at a fallacious or
booby trapped low-redefinition [15] of the word "semantic".
Redefinition clouds the discussion.

The issue concerns separating or mixing structure, presentation, AND behavior.

Separation is architecturally sound. "A specification SHOULD allow
authors to separate content from both presentation and interaction
concerns." [16]. Keeping behavior separate and not integrating it into
elements and has served us well to date, as witness the many and
sophisticated applications we use today.

I have always used the three legged stool approach to web standards.
Separate structure, presentation, AND behavior. I have concerns if
introducing behavior into HTML is the right direction. Seems like
contamination to me...like putting presentational elements in that are
hard to get out once they are there. It is reminiscent of adding
behavior such as marquee and blink elements.

If behavior is not well thought out, it can be a disaster. As Ian
Hickson has said, layering violations "lead to complicated
interdependencies. These tend to snowball as the technology matures.
Layering violations are actually one of the most insidious problems in
language design, because they appear innocuous at first, and tend to
accrete over time, leading eventually to a disaster." [17]

If widget elements are needed for accessibility, I agree with Benoit
Piette [18]. They should be completely separate them from structural
elements. Such elements could possibly go into a document of their
own, to support modularity and might be reusable in other languages.

CONCLUSION:

The details element is insufficiently thought out or as Leif has
termed it "half baked". It has unvetted accessibility, lack of
implementation, lack of styling, and presents a layering violation.

In Jon Gunderson's no vote on the accessibility task force survey
[19], he commented, "I think the more we can simplify HTML 5 elements
the easier it will be to get HTML 5 and accessibility implemented and
to explain to authors how to create accessible content in HTML5.
Browser developers will probably not implement these elements anyway
if they don't like them or do it inconsistently. There is a lot in
HTML5 and I think we have enough to discuss without spending time on
elements that may never be implemented." I agree.

REFERENCES:

[1] 
http://www.w3.org/html/wg/wiki/ChangeProposals/removedetails#The_User_experience_and_Accessibility
[2] http://www.w3.org/html/wg/wiki/HTMLRequestsPFresponse
[3] http://lists.w3.org/Archives/Public/public-html/2008Sep/0421.html
[4] http://lists.w3.org/Archives/Public/public-html-a11y/2010May/0084.html
[5]
http://lists.w3.org/Archives/Public/public-html-a11y/2010Apr/0183.html
[6]
http://www.w3.org/2002/09/wbs/44061/200404_ftf-proposals/results#xq5
[7] http://www.w3.org/WAI/PF/HTML/track/
[8] http://lists.w3.org/Archives/Public/public-html/2010Apr/1301.html
[9] http://www.w3.org/2002/09/wbs/44061/200404_ftf-proposals/results#xq5
[10] http://mathiasbynens.be/notes/html5-details-jquery
[11] http://lists.w3.org/Archives/Public/public-html/2008Jun/0140.html
[12] 
http://en.wikipedia.org/wiki/Comparison_of_layout_engines_%28HTML5%29#Elements
[13] http://html5readiness.com/
[14] 
http://www.w3.org/html/wg/wiki/ChangeProposals/removedetails#Behavior_is_not_semantics
[15] http://www.fallacyfiles.org/redefine.html#LowRedef
[16] http://www.w3.org/TR/webarch/#pci  (Architecture of the World
Wide Web, Volume One. W3C, 2004.)
[17] http://lists.w3.org/Archives/Public/public-html-a11y/2010Apr/0250.html
[18] http://lists.w3.org/Archives/Public/public-html/2010May/0006.html
[19]
http://www.w3.org/2002/09/wbs/44061/200404_ftf-proposals/results#xq5

--
Laura L. Carlson

Reply via email to