Re: hgroup and ARIA outline in ISSUE-129 [Was: SSUE-129: replace or modify the ARIA section of the HTML5 spec - chnage proposal and replacement spec text]

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

Received on Monday, 29 November 2010 00:16:02 UTC