This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.

Bug 26135 - is role=status correct for output element?
Summary: is role=status correct for output element?
Status: RESOLVED MOVED
Alias: None
Product: HTML WG
Classification: Unclassified
Component: HTML5 spec (show other bugs)
Version: unspecified
Hardware: PC Windows NT
: P2 normal
Target Milestone: ---
Assignee: steve faulkner
QA Contact: HTML WG Bugzilla archive list
URL:
Whiteboard:
Keywords: a11y
Depends on:
Blocks: 28769
  Show dependency treegraph
 
Reported: 2014-06-18 13:07 UTC by steve faulkner
Modified: 2015-11-12 15:52 UTC (History)
12 users (show)

See Also:


Attachments

Description steve faulkner 2014-06-18 13:07:52 UTC
currently the html spec requires[1] the output element be mapped to role=status , at least one implementer (mozilla) has issue with this. They map it a to a generic role but with aria-live=polite.

would like to get further feedback on this.

[1] http://www.w3.org/html/wg/drafts/html/master/dom.html#sec-implicit-aria-semantics


this topic has come up before: refer to https://www.w3.org/Bugs/Public/show_bug.cgi?id=10447
Comment 1 Marco Zehe 2014-06-18 13:19:53 UTC
My issue with this is that the descriptions for ARIA role="status"[1] and the html:output element[2] differ significantly in wording, so it seems, purpose. From reading the spec for the html:output element, a role of "log"[3] would seem more appropriate.

[1] http://www.w3.org/TR/wai-aria/roles#status
[2] http://www.w3.org/TR/html5/forms.html#the-output-element
[3] http://www.w3.org/TR/wai-aria/roles#log
Comment 2 James Craig 2014-06-18 21:36:18 UTC
I'm wary about exposing output as a live region at all by default. This has the potential to make some sites accidentally unusable by screen readers users. 

For example, a mathematics demo may use output elements to live track the values of cartesian x, y, and z coordinates in an animating graph. If these were using either role=log or role=status, they'd get aria-live="polite" by default and constantly chatter, making the page mostly unusable by screen readers users. Live regions should be a much more explicit choice.

I think the HTML mapping for <output> should be changed to "marquee" (aria-live="off") or left blank.
Comment 3 alexander surkov 2014-06-19 19:56:11 UTC
I don't have good explanation why output element is equal to ARIA status role. Afaik Firefox never followed this.

Concerning to default aria-live I don't have a strong opinion on it. It was supported in Firefox from the start (see bug https://bugzilla.mozilla.org/show_bug.cgi?id=558036) with reasoning "Folks want the live attribute for output." So I don't have objections to not change that but I would like to have some public feedback on the feature change.
Comment 4 steve faulkner 2014-09-29 09:50:22 UTC
(In reply to alexander surkov from comment #3)
> I don't have good explanation why output element is equal to ARIA status
> role. Afaik Firefox never followed this.
> 
> Concerning to default aria-live I don't have a strong opinion on it. It was
> supported in Firefox from the start (see bug
> https://bugzilla.mozilla.org/show_bug.cgi?id=558036) with reasoning "Folks
> want the live attribute for output." So I don't have objections to not
> change that but I would like to have some public feedback on the feature
> change.

am trying to get some feedback https://twitter.com/stevefaulkner/status/516519385016848384

turned up one example of use so far https://www.clinivet.com/product/puppy-starter-pack. am grepping some pages as well to see what turns up
Comment 5 Julie Jeongeun Kim 2014-10-14 05:54:51 UTC
I think all of them, status, log and marquee have reasonable point.
But if we have to pick one of them,
in my humble opinion, 
I feel that log is a little bit more suitable for role for output element according to spec description.
Generally I agree with Marco.
But I expect we can get some feedback from people through steve's question.
Comment 6 Dominic Mazzoni 2014-10-14 17:09:40 UTC
I agree with James here - aria-live should be off.

Here's my rationale: some screen readers have facilities that allow users to monitor parts of the page that change, or at least quickly jump to them (VoiceOver hot spots, JAWS PlaceMarkers). However, I'm not aware of any that let you selectively disable a single live region from being monitored, or even disable all live regions for just one page.

Given that there's no guidance in the HTML spec that warns web authors to avoid using <output> excessively, I'd err on the side of caution and not infer live regions when the author didn't add them explicitly, since too many live regions can render a page unusable, while too few is usually just a minor inconvenience.
Comment 7 alexander surkov 2014-10-15 16:10:22 UTC
Both examples given at w3c [1] make me think that live region polite is suitable on the output element, the first example is calculation result updated on user input, the second one is some update coming from remote server. On the other hand the spec defines the element as "the output element represents the result of a calculation or user action", user action use cases are rather live regions, result calculation use cases are dual. For example, James's example from comment #2 is no live region case.

Since the author can control live regions by aria-live attribute on output element then the whole point is how authors use (or misuses) the element. If most cases don't need live region then of course we don't need to expose it. However this statement feels like sort of contradiction to the output definition and examples given by the spec.

[1] http://www.w3.org/TR/html5/forms.html#the-output-element
Comment 8 steve faulkner 2014-10-18 08:28:53 UTC
Note have added a note for implementers to the html spec pointing to this bug http://www.w3.org/html/wg/drafts/html/master/dom.html#sec-implicit-aria-semantics
Comment 9 steve faulkner 2014-10-21 12:42:10 UTC
Note: output role=status is being implemented in chrome https://code.google.com/p/chromium/issues/detail?id=323143#c9
Comment 10 Rich Schwerdtfeger 2014-10-22 14:54:26 UTC
I don't believe so. Status is very specific, like a status bar. Status is a live region that reports status about something else. I do believe it is a live region but I don't think we can give it a role="status"

I would think the native host language semantics might be role="region" and have an aria-live property associated. Both should be able to be overridden by the author.
Comment 11 steve faulkner 2015-06-05 15:06:54 UTC
moved to html acc mapping spec
https://www.w3.org/Bugs/Public/show_bug.cgi?id=28769