- From: Steve Faulkner <faulkner.steve@gmail.com>
- Date: Mon, 29 Nov 2010 09:00:51 +0800
- To: Benjamin Hawkes-Lewis <bhawkeslewis@googlemail.com>
- Cc: HTMLWG WG <public-html@w3.org>, Maciej Stachowiak <mjs@apple.com>, Paul Cotton <Paul.Cotton@microsoft.com>, Sam Ruby <rubys@intertwingly.net>, Richard Schwerdtfeger <schwer@us.ibm.com>, Cynthia Shelly <cyns@microsoft.com>, "Michael(tm) Smith" <mike@w3.org>, Janina Sajka <janina@rednote.net>
- Message-ID: <AANLkTinYTAg79sC9xCfM+zUyEvMveC7EFnv9=A3GW6NY@mail.gmail.com>
hi benjamin, >These examples are presentations of the content not presentations of >outlines of the content. and so the semantics of the presentaions of the content differ from the oultine view, yet the mappings for the presentations are not defined, this I see is the crux of the issue. >The term "region" comes from ARIA: I am aware of the ARIA role=region, what I was pointing out was that you had added this in your representation added additional semantics not defined explicitly in the ARIA mapping section of the spec. >"Other elements of heading content in the hgroup element indicate subheadings or subtitles." but the semantics of these are not defined in the spec and neither are they defined roles in any accessibility API. >HTML5 (like ARIA) defines semantics *not* how to represent semantics to the end-user. well in the case of the outline it DOES define how they are to be represented. it says hide some headings and their content. to quote you "The spec already says the subtitles aren't part of the outline" "subtitle for a heading of a section" be mapped to supporting accessibility APIs? as I said above there is no role for "subtitle for a heading of a section" let me repeat, currently in the spec if an element is not mentioned explictly as having a particular default role (which h1-h6 inside hgroup are not) it is inferred that they a) they have no default role and b) they can have ANY ARIA role. Whereas what is implied in your reading of the spec is that they do have default roles (the undefined 'subtitle' role) and as such should most probably not be allowed to have many ARIA roles assigned as that can and will interfere with the outline algorithm. That is a problem. >Would you still argue that "subtitle" should be mapped to >"presentation"? And if so, on what grounds? >If your goal is to prevent screen readers reading subtitles as >headings, just don't map them to the "heading" role and suggest UAs >expose them as text if there's no "subtitle" semantic in their >platform's Accessibility API. there is no subtlitle semantic explicitly defined in HTML5 there is no <subtitle> element or role="subtitle" and no subtitle role in any accessibility API that I know of, if there were then this would not be an issue. my goal is to provide unambiguous advice to user agent implementors on how to map H1-h6 elemnts inside hgroup elements to accessibility APIs, I have not reached that point yet, but neither has the HTML5 spec. that is a problem. regards Stevef On 29 November 2010 08:15, Benjamin Hawkes-Lewis < bhawkeslewis@googlemail.com> wrote: > On Sun, Nov 28, 2010 at 11:06 PM, Steve Faulkner > <faulkner.steve@gmail.com> wrote: > > > I note in your first example, you have added 2 constructs "region" and > > "subtitle" that are not specified in the HTML5 outlining algorithm. > > These examples are presentations of the content not presentations of > outlines of the content. > > The term "region" comes from ARIA: "A large perceivable section of a > web page or document, that the author feels is important enough to be > included in a page summary or table of contents" that should have "a > heading referenced by aria-labelledby". > > http://www.w3.org/TR/wai-aria/roles#region > > I think this is the appropriate mapping for the HTML5 semantic > "sectioning content": > > http://dev.w3.org/html5/spec/content-models.html#sectioning-content-0 > > The spec defines how we can infer semantic sections in the absence of > explicit sectioning elements: > > "The first element of heading content in an element of sectioning > content represents the heading for that section. Subsequent headings > of equal or higher rank start new (implied) sections, headings of > lower rank start implied subsections that are part of the previous > one. In both cases, the element represents the heading of the implied > section." > > http://dev.w3.org/html5/spec/sections.html#headings-and-sections > > "subtitle" is not defined in the algorithm; it's just an ordinary > HTML5 semantic: > > "Other elements of heading content in the hgroup element indicate > subheadings or subtitles." > > http://dev.w3.org/html5/spec/sections.html#the-hgroup-element > > > Also in > > the second example the heading level 3 and 2nd heading level 2 in the > hrgoup > > are treated as plain text, neither being a heading or a subtitle. > > That's because it's a less verbose representation - i.e. a > representation in which minor semantic detail (X is a subtitle) has > been stripped away for the listener's convenience. > > As you know, it's common for screen readers to allow users to strip > out semantic detail in this fashion - for example to toggle the > announcement of quotations - because users can infer these details > from context or they just aren't that important. > > > so depending on the view (oultine or in page) the content of a hgroup (a) > > may be represented as either 1 or 2 > > > > (a) > > <hgroup> > > <h3>Analysis</h3> > > <h2>The problem</h2> > > <h2>A mathematical model</h2> > > </hgroup> > > > > 1. > > <h2>The problem</h2> > > > > 2. > > > > Analysis > > <h2>The problem</h2> > > A mathematical model > > HTML5 (like ARIA) defines semantics *not* how to represent semantics > to the end-user. > > > In theory I don't have an issue with this, but it is not reflected in the > > current HTML% Spec as to acheive 1 the other headings in the hgroup would > > have to be treated as having CSS display:none or having the hidden > > attribute. > > The spec already says the subtitles aren't part of the outline, just > like random "p" elements are not part of the outline. > > Typically, HTML outline views are presented in a separate sidebar or > window not subject to (page) CSS at all. > > So (a) what spec text would you suggest here and (b) why would it be > necessary for "hX" inside "hgroup" but not "p" outside "hgroup"? > > > To achieve 2 the h3 and 2nd h2 would have to be treated as having > > role=presentation. > > Why would this be necessary or appropriate? > > "presentation" means "An element whose implicit native role semantics > will not be mapped to the accessibility API." > > http://www.w3.org/WAI/PF/aria/roles#presentation > > The native semantic of an "hX" element in "hgroup" is subtitle for a > heading of a section, not heading of a section. Why shouldn't > "subtitle for a heading of a section" be mapped to supporting > accessibility APIs? > > Imagine instead of reusing "hX" elements, the spec defined a > "subtitle" element as "indicating a subtitle for a sibling heading > element": > > <section> > <subtitle>Analysis</subtitle> > <h2>The problem</h2> > <subtitle>A mathematical model</subtitle> > <p>Section text goes here.</p> > </section> > > Would you still argue that "subtitle" should be mapped to > "presentation"? And if so, on what grounds? > > If your goal is to prevent screen readers reading subtitles as > headings, just don't map them to the "heading" role and suggest UAs > expose them as text if there's no "subtitle" semantic in their > platform's Accessibility API. > > -- > Benjamin Hawkes-Lewis > -- with regards Steve Faulkner Technical Director - TPG Europe Director - Web Accessibility Tools Consortium www.paciellogroup.com | www.wat-c.org Web Accessibility Toolbar - http://www.paciellogroup.com/resources/wat-ie-about.html
Received on Monday, 29 November 2010 01:01:45 UTC