New issue
Advanced search Search tips

Issue 713159 link

Starred by 1 user

Issue metadata

Status: Untriaged
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Mac
Pri: 2
Type: Bug
Team-Accessibility



Sign in to add a comment

A heading inside a button is not exposed as a heading in the accessibility tree.

Reported by driemer....@gmail.com, Apr 19 2017

Issue description

UserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3074.0 Safari/537.36

Steps to reproduce the problem:
1. Create a heading within a button.
2.  Read it with a screen reader.
3. Note that there is no heading role on the heading, just a block of text.

What is the expected behavior?
The heading should be included in the accessibility tree.

What went wrong?
The heading is stripped out and text is placed in the button. It's a fairly weird use of HTML, but it has been seen in the wild, (The syncthing project uses it).

Did this work before? No 

Does this work in other browsers? Yes

Chrome version: 60.0.3074.0  Channel: canary
OS Version: 10.0
Flash Version:
 
testCase.html
84 bytes View Download
Labels: Needs-Triage-M60

Comment 2 by tkent@chromium.org, Apr 21 2017

Components: -Blink>HTML Blink>Accessibility
Labels: -Type-Bug -Needs-Triage-M60 M-60 hasbisect OS-Linux OS-Mac Type-Bug-Regression
Status: Untriaged (was: Unconfirmed)
Able to reproduce the issue on Windows-7,Mac-10.12.4 and Linux Ubuntu using Chrome stable version 58.0.3029.81 and canary 60.0.3086.0.This is regression issue, broken in M31.
Manual Bisect:
--------------
Good Build-31.0.1630.0 -(Revision-223184)
Bad Build -31.0.1632.0- (Revision-223484)

https://chromium.googlesource.com/chromium/src/+log/278b6647d6ec9ac03d76d20f76b8c3c65e4c0d47..2d050520d564d3d4c527d110deba3943bd378069

Not sure about the suspect, hence marking it as Untriaged and not assigning to the owner got from CL.

Thanks.
Labels: -Pri-2 -hasbisect -Arch-x86_64 -Hotlist-Interop -Type-Bug-Regression -M-60 -Via-Wizard-API Pri-3 Type-Bug
Status: Available (was: Untriaged)
Not entirely sure this is a bug.

Is there any assistive technology that lets you explore inside of a button? Typically a button is a leaf-level element in the accessibility tree.

Leaving open, but as low priority.

Open to raising the priority to 2 if someone can point out a real user benefit with specific assistive technology and specific markup.


Is there any assistive technology that lets you explore inside of a button? Typically a button is a leaf-level element in the accessibility tree.
This works in firefox. I don't totally think that it is good to do this, because yes, a button is a leaf node, but syncthing does use markup like <button><h3>device name</h3></button> all be it more complicated. I reported to them a while ago to change the heading so it has either a button in it, or just remove the button and do a collapsed or expanded heading a while ago.  Nevertheless, this is possible, and has been seen in the wild, and some browsers render it. I am open to interpretation of how to best render this. https://github.com/syncthing/syncthing/issues/4109
I know browsers render it, but what I'm asking is if any existing assistive technology is actually able to do anything useful with that information.

For example, most screen readers let you jump between headings on the page. Would you actually want them to jump to buttons that have headings inside? That just seems like a bad idea. Most likely the heading in the button is just a dumb way to style the text in the button and make it bigger, but not really as a heading.

So again, I think what we're doing with accessibility makes sense.


Yes, NVDA does jump to *all* headings on the page. I discovered this because NVDA was missing all the headings I see in firefox on syncthing in chrome.
I can see your point, and this is of course an obscure thing which I'd see once or twice, and I would have just jumped by button if I hadn't been expecting headings. So there may be a case for flattening the tree like this.

Comment 9 by ja...@nvaccess.org, May 2 2017

NVDA does let you explore inside the button. It reports that there is both a button and a heading.

While this is certainly a bit weird, I'm not sure I agree the semantics are always incorrect. If there is an expandable section where you click the heading to expand it, there is certainly a good reason to expose the heading semantics. In this case, I think it probably makes more sense to just put aria-expanded on the heading. However, I can see why an author would want to mark the expand control as a button.

In this example, Chrome flattens the tree to a button and ignores the heading. IMO, for an expandable section, the fact that there is a heading is potentially more important than the fact that there is a button.

What's really interesting is that Chrome *does* support this for summary and details:
data:text/html,<details><summary><h1>Expandable Section</h1></summary>The stuff inside.</details>
In this example, Chrome renders a heading inside a button quite happily. And this in itself is a solid argument to support this: if someone wants to implement a custom details/summary widget, they'll probably expose the summary as a button, not caring what's inside, just as Chrome does.
Labels: -Pri-3 Pri-2
OK, good point about summary/details.

Not a high priority but I guess I don't have any objection to allowing buttons to expose their subtree.

Labels: triage-alice
Labels: -triage-alice
Labels: win-a11y
Labels: -win-a11y
Removing from win-a11y hotlist
Labels: a11y-secondary
Project Member

Comment 16 by sheriffbot@chromium.org, Jan 18 (5 days ago)

Labels: Hotlist-Recharge-Cold
Status: Untriaged (was: Available)
This issue has been Available for over a year. If it's no longer important or seems unlikely to be fixed, please consider closing it out. If it is important, please re-triage the issue.

Sorry for the inconvenience if the bug really should have been left as Available.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot

Sign in to add a comment