You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
You hear "button1name, button", when you press the arrow key, you hear "button2name, button".
Actual result
You hear "button1name, button", when you press the arrow key, you hear "button", you press the arrow key again and then hear "button2name, button".
Additional Information
JAWS version: 2018.1808.10
Windows version: 10.0.10240
IE version: 11.0.10240.17443
Running windows in Parallels Desktop on Mac
Notes
I've tried many ways to hide the <button>: tabindex="-1", display: none, aria-hidden, role="presentation", etc. Nothing changed the outcome.
Turning the <button> into an <a> doesn't change the outcome. Changing it into a <span> does, it removes the superfluous button announcement.
Adding an aria-label to the parent element also fixes things.
My impression is that things go wrong when it's trying to calculate an accessible name from the contents of the parent element, and by adding an aria-label you prevent that step from happening.
The text was updated successfully, but these errors were encountered:
I can confirm the problem - even with the latest version of JAWS 2019. It only occurs in IE 11 and not in Firefox and Chrome. It is an error of implicit role=presentation within role=button. This does not work in IE 11. This has the consequence that in the following examples with Tab, with linear reading and in the element overview (INS+F5, INS+Ctrl+B) also the inner button is output as unlabeled button.
On the other hand, the question would be why a native HTML element has to be designed so cumbersome. button can be styled well with CSS. There is no obvious reason to use so much source code for a button. The more complex simple HTML elements are designed, the more error-prone it becomes for everybody and the more difficult it becomes for assistive technology to output the content correctly. Keep it simple! And never forget the first rule: https://www.w3.org/TR/using-aria/#rule1
Summary
When an element with
role="button"
contains a hidden<button>
, JAWS announces an extra singular "button" when browsing.Expected result
You hear "button1name, button", when you press the arrow key, you hear "button2name, button".
Actual result
You hear "button1name, button", when you press the arrow key, you hear "button", you press the arrow key again and then hear "button2name, button".
Additional Information
Notes
I've tried many ways to hide the
<button>
:tabindex="-1"
,display: none
,aria-hidden
,role="presentation"
, etc. Nothing changed the outcome.Turning the
<button>
into an<a>
doesn't change the outcome. Changing it into a<span>
does, it removes the superfluous button announcement.Adding an
aria-label
to the parent element also fixes things.My impression is that things go wrong when it's trying to calculate an accessible name from the contents of the parent element, and by adding an
aria-label
you prevent that step from happening.The text was updated successfully, but these errors were encountered: