- From: Tab Atkins Jr. <jackalmage@gmail.com>
- Date: Sun, 17 Jan 2010 10:42:11 -0800
- To: Karl Dubost <karl+w3c@la-grange.net>
- Cc: Aryeh Gregor <Simetrical+w3c@gmail.com>, Ian Hickson <ian@hixie.ch>, HTML WG <public-html@w3.org>
On Sun, Jan 17, 2010 at 4:39 AM, Karl Dubost <karl+w3c@la-grange.net> wrote: > The hidden (or ignored, ghost, etc.) attribute will remove from the DOM this part of the markup, but this part will still be reachable in all browsers not supporting the attribute. (it's more a "shrodinger" attribute.) > That will lead to usability issue, eventually accessibility issues too. Creating the page become more complex. No it won't. @hidden doesn't alter the DOM. You can still walk down into hidden content using ordinary DOM methods. It's purely an accessibility thing. Visual UAs will hide @hidden content, screen-readers will neglect to read it, etc. It allows an author to take some convenient shortcuts in building the page without degrading the experience of users with ATs that the author didn't anticipate, and thus didn't hide the shortcuts from. Frex, I have a project which contains a report generator. There are several types of reports, all of which have a different 'skeleton' that I fill in with the report-specific data. Rather than generating the entire report pane when each report is requested, I put the skeleton panes directly in the static markup and hide them. This way I can simply grab the appropriate pane on request and fill it in, which minimizes the amount of HTML I have to embed in my javascript. With @hidden, I can properly indicate that all the unused panes are completely irrelevant and should not be viewed by any browser. I just put @hidden in the static markup of each pane, and then remove it from the appropriate pane when a report is requested. ~TJ
Received on Sunday, 17 January 2010 18:43:03 UTC