- From: Leif Halvard Silli <xn--mlform-iua@xn--mlform-iua.no>
- Date: Fri, 14 Sep 2012 03:02:49 +0200
- To: James Craig <jcraig@apple.com>
- Cc: Janina Sajka <janina@rednote.net>, Cynthia Shelly <cyns@microsoft.com>, HTML Accessibility Task Force <public-html-a11y@w3.org>, Ted O'Connor <eoconnor@apple.com>
I will also mention that HTML5 has an <map> example which contains both <a> elements and <area> elements, the intention of which is that the former can function as navigation links while the <area> elements can be used for a - navigational - image map. http://dev.w3.org/html5/spec/the-map-element.html#the-map-element Obviously, such <map> would not have hidden="", or else it would not have any point to sighted users. But is there are risk that a "helpful" AT, when presenting the image map, could *first* read the <area> links, and then continue with the other links? And is it certain that AT *ignore* "lose" <area> that they find inside <map> - or wherever? What I am aiming at is: Does hidden="" imply "description" as well, so that adding hidden="" increases the chance that the AT would present the content of <map>? Leif H Silli Leif Halvard Silli, Fri, 14 Sep 2012 02:45:41 +0200: > Comments on James's variant of the text. > > ]] > Note: Only hidden="" elements that are referenced indirectly by a > unique identifier (ID) reference > > [What about @name for <map>?] > > or valid hash-name reference may > have their structure and content exposed upon user request. Authors > desiring to prevent user-initiated viewing of hidden="" elements > should remove identifier (ID) or hash-name references to the element. > [[ > > So now I want to defend HTML: This sounds much too ARIA like in its > logic. > > When it comes to aria-describedby/-labelledby then they do not imply a > particular semantic relationship between the two connected elements: > labelledby could refer to a <caption> but it could also refer to a > <div> - even a <script>. By contrast, take for instance the @usemap > attribute. If you remove it, then you remove the entire image map > functionality. For all users. Even AT users. > > For the @headers attribute your logic could seem simpler to accept as a > hidden <th> element does not affect anyone. However: It would be > possible to use @headers to create some CSS or JavaScript that > highlights the referenced headers. And @headers do define which the > connected header cells are *even if they are hidden*. So by removing > @headers, one would be changing the semantics of the table. > > I am of course not opposed to *inform* the spec readers that hidden > elements are not revealed to anyone if either the referenced attributes > ( @id, @name) or the referencing attributes (@headers, @usemap and > others) are removed. But I am opposed to "informing" readers that this > is a method they can use in order to prevent hidden text from being > read. To say that, is a much too simplistic. > > Ultimately, what you say here is that if someone uses @longdesc to > point to somewhere in the same page, then the spec should inform > authors that they can prevent the referenced text from being presented > by removing the @longdesc. Is there really a point in saying such a > thing? > > I am afraid that we cannot 100% solve this dilemma without counting on > ARIA. For example, imagine that the <map> element contained some ASCII > art. Then, remember that we are talking about a situations where the > "full semantics" are present. So then it would be possible to use > role=img on the child element containing the ASCII art. One could also, > I suppose use aria-hidden="true" inside e.g. a <map>. If the text "must > not" talk about this, then it should say that "HTML has no means for > hiding such content, but that authors may use ARIA attributes, see > ARIA". > > I am not sure that we even need to talk about id references - it sounds > like language that has been placed there to prevent something in the > future or whatever. But what about the <object> element. Or <canvas> ? > Is the fallback/subdom of <canvas> considered hidden? If you add > hidden="" to an element inside <canvas>, does that change anything? If > that change anything, then I agree that the subdom of <canvas> is not > hidden and as such falls outside the subject. But what about <object>? > Remember that <object> can be image maps. And that the <map hidden="" > name="map" > element then can be placed as child of <object>. Is it > only when <object usmap="map"> contains a <map> that its fallback will > be rendered with full semantics? > -- > leif halvard silli >
Received on Friday, 14 September 2012 01:03:19 UTC