Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

JAWS is reading twice if aria-describedby referenced element is live region #469

Open
keerthanameka25 opened this issue Nov 6, 2020 · 11 comments

Comments

@keerthanameka25
Copy link

keerthanameka25 commented Nov 6, 2020

Summary

I have a textarea with remaining character counter. Used aria-live="assertive" to announce the updated count.

Example:

  1. Go to https://www.w3schools.com/code/tryit.asp?filename=GKFPYHX1EUKZ
  2. TAB to the TextArea

In Chrome browser - on every character entry, JAWS is reading " Remaining : xxx characters" twice, like below.
Please enter minimum 50 characters Remaining: 255 characters

Type in text.

Please enter minimum 50 characters Remaining: 254 characters

Remaining: 254 characters

Please enter minimum 50 characters Remaining: 253 characters

Remaining: 253 characters


In IE browser - On very character entry, aria-describedby is read out. On a single character entry ( I typed "te" ), there is a discrepancy in the count. JAWS is reading previous count and then the updated count like below

Comments:  Edit
Please enter minimum 50 characters Remaining: 255 characters 

Type in text.

Remaining: 255 characters

Comments:  Edit
t

Please enter minimum 50 characters Remaining: 255 characters 

Type in text.

Remaining: 254 characters

Comments:  Edit
te

Please enter minimum 50 characters Remaining: 254 characters 

Type in text.

Remaining: 253 characters


Expected result

aria-describedby reference should speak once.
Updated text should be announced in IE browser same as Chrome

Additional Information

JAWS version and build number : 2020.1912.11 ILM

Operating System and version : Windows 10 64bit

Browser and version:

Chrome Version 86.0.4240.183
IE Version 11.1792.17134.0

@keerthanameka25
Copy link
Author

In chrome, even though "Remaining : xxx characters" is read out twice, the count is correct but not in IE.

@JAWS-test
Copy link

JAWS-test commented Nov 6, 2020

Double output in chrome is done because live region and aria-describedby (no JAWS bug!)

Solution: aria-describedby only on fixed hint and aria-live only on variable hint

@JAWS-test
Copy link

In IE 11 the live region is not output at all. Instead, aria-describedby is output, but before each update. This are two IE 11 or JAWS bugs

@keerthanameka25
Copy link
Author

keerthanameka25 commented Nov 6, 2020

@JAWS-test On every key stroke (typing a character), aria-describedby is read out in IE and Chrome. Is it expected when using JAWS ?
I tested with the same sample in Firefox in Forms mode. aria-describedby is announced only once on initial focus. When I type in a character in the textarea, only updated aria live region is read.

@keerthanameka25
Copy link
Author

In IE 11 the live region is not output at all. Instead, aria-describedby is output, but before each update. This are two IE 11 or JAWS bugs

@JAWS-test Sorry, didn't get you.. Could you please explain this again ?

@JAWS-test
Copy link

Sorry, didn't get you.. Could you please explain this again ?

Bug No. 1: If you remove aria-describedby in your example, IE 11 will not output anything, so the live region has no effect.

Bug No. 2: when the value in aria-describedby is changed, the old and not the new value is output

@JAWS-test
Copy link

Is it expected when using JAWS ?

This is a very good question. Unfortunately I don't know exactly, but I'll try to find out and get back to you

@JAWS-test
Copy link

According to https://www.w3.org/TR/core-aam-1.2/#details-id-188 a change of aria-describedby should trigger an event at the Accessiblity API, so the output would probably be correct if aria-describedby was changed

@JAWS-test
Copy link

JAWS-test commented Nov 7, 2020

I tested with the same sample in Firefox in Forms mode. aria-describedby is announced only once on initial focus. When I type in a character in the textarea, only updated aria live region is read.

This is another bug in JAWS, but only in textarea: as soon as the multiline input field contains text, the description (aria-describedby, aria-description, title) is no longer output, see #201.

So to investigate your problem further, it would be better to use an <input type=text> instead of <textarea>, because with <input> the description is output correctly

@ArmandFrvr
Copy link

Ran into this same situation today. Not using explicit aria-live but have aria-atomic="true" on the current count and aria-describedby on the full message. Not getting any output at all with Edge/JAWS. With NVDA it works fine except it also reads again upon tabbing out of the field for some reason.

@BegginnerCoder123
Copy link

BegginnerCoder123 commented Feb 23, 2023

same issue with JAWS from past 2 weeks, when clicked on the button/anchor element goes to the other page and read unnecessary content as shown:

Element:
Start

JAWS reading

  1. Certify Page
    � same page link Start 1. Certify
    Start 3. Certify same page link � �visited�
    visited same page link � Start 1. Certify

then changed to
Elememt:

Start

added role="button" to anchor element

JAWS reading
Certify start button

but i have a issue that it reads the page title twice whenever page renders

Elememt:

<title>@(ViewBag.Title != null ? string.Format("{0} | organisation | website", ViewBag.Title) : "Organisation | website")</title>

when i use aria-hidden to title also its not working.
Is there any solution?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants