Rationale for hidden Attribute Issue 95 Straw Poll is attached. -- Laura L. Carlson
For hidden Attribute Issue 95 Straw Poll http://www.w3.org/2002/09/wbs/40318/issue-95-objection-poll/results
OBJECTION SUMMARY: 1. Accessibility has not been vetted. 2. Lack of implementation. 3. Layering violation. OBJECTION DETAILS: 1. Accessibility has not been thoroughly vetted or verified. Creating attributes that are inherently accessible with no additional work by the author could be a win for accessibility. However, the accessibility of the hidden attribute has not been thoroughly vetted or verified. Example problems that have been brought up are significant [1]. The precedence ordering of all combinations of aria-hidden, display="none", and hidden="" are not specified. A HTML hidden attribute may or may not have the same types of problems as CSS display: none does [2]. We don't know. It is unknown without investigation the impact this attribute 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 [3] 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 [4]. Multimedia requirements are only now being to be discussed [5] 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." [6] However, to date no action-plan or timetable or volunteers exist, that I am aware of, to ensure that the hidden attribute indeed becomes accessible. Accessibility should not fall through the cracks. I voted no on the task force survey regarding these new features. [7] My comment included: "The resolution states: "We maintain the work item to check these attributes 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 [8] 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 hidden is to be included the spec, it should be accessible. I would remove point one of this objection if the proposed action plan [9] or something similar was adopted and the task force fulfilled their commitment to make the attribute 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 hidden element should be dropped from the spec. 2. Lack of implementation. The hidden attribute lacks implementation any browser or assistive technology[10]. It is currently 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." If it turns out to cause problems in the future, it would be unfortunate to have the HTML5 spec encumbered with it. Hidden 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>. As Jim Allan said on the accessibility task force survey, "Creation of orphaned, poorly implemented or non-implemented attributes is not the goal". [11] 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". [12] The hidden attribute may or may not have the same implementation repercussions CSS for hiding content [13]. We do not know. If there is anything wrong with CSS for hiding content, the CSS working group should address it. Adding a hidden attribute to HTML is a bandaid approach. 3. Adding the hidden attribute presents a layering violation. This point concerns mixing presentational utility into HTML. The hidden attribute indicates that the item exists but should not be rendered. The spec says that only the *presentation* to the user changes for elements in a section hidden by the hidden attribute. This is the realm of CSS. Separation is architecturally sound. "A specification SHOULD allow authors to separate content from both presentation and interaction concerns." [13]. I have always used the three legged stool method of web standards. Separate structure, behavior, AND presentation. I have concerns if introducing presentation into HTML is the right direction. Seems like contamination to me...putting presentational attributes in that are hard to get out once they are there. It is reminiscent of adding <font>. The main benefit of CSS is that it separates presentation. By adding the hidden attribute we lose a clean separation. Integrating a CSS utility into HTML is duplication of effort. If not well thought out it could 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." [14] Every element and attribute adds complexity to the language. Simple design doesnÕt mean featureless: it means being as simple as necessary to achieve an outcome. And if that outcome can be achieved cleanly through another spec, the more efficient HTML5 will be. Simplicity is treading a line. Antoine de Saint-Exupery said, "In anything at all, perfection is finally attained not when there is no longer anything to add, but when there is no longer anything to take away." It comes across as magic when it works. That is a high achievement. It is what HTML5 should aim for. However, *if * a hidden attribute is required for accessibility and *if * it is decided that modularity is to be discounted, adding hidden should be coordinated not only with PFWG for ARIA but with the CSS working group so all three specs can be harmonized. Some type of super cascade may need to be considered. CONCLUSION: The hidden attribute is insufficiently thought out or as Leif has termed such things: "half baked". It has unvetted accessibility, lack of implementation, and presents a layering violation. In Jon Gunderson's no vote on the accessibility task force survey [15], 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/removehidden#Accessibility [2] http://juicystudio.com/article/screen-readers-display-none.php [3] http://www.w3.org/html/wg/wiki/HTMLRequestsPFresponse [4] http://lists.w3.org/Archives/Public/public-html/2008Sep/0421.html [5] http://lists.w3.org/Archives/Public/public-html-a11y/2010May/0084.html [6] http://lists.w3.org/Archives/Public/public-html-a11y/2010Apr/0183.html [7] http://www.w3.org/2002/09/wbs/44061/200404_ftf-proposals/results#xq5 [8] http://www.w3.org/WAI/PF/HTML/track/ [9] http://lists.w3.org/Archives/Public/public-html/2010Apr/1301.html [10] http://en.wikipedia.org/wiki/Comparison_of_layout_engines_%28HTML5%29#Global [11] http://www.w3.org/2002/09/wbs/44061/200404_ftf-proposals/results#xq5 [12] http://lists.w3.org/Archives/Public/public-html/2008Jun/0140.html [13] http://www.w3.org/TR/webarch/#pci (Architecture of the World Wide Web, Volume One. W3C, 2004.) [14] http://lists.w3.org/Archives/Public/public-html-a11y/2010Apr/0250.html [15] http://www.w3.org/2002/09/wbs/44061/200404_ftf-proposals/results#xq5 -- Laura L. Carlson -- Laura L. Carlson
