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 repeats iframe contents in aria-live region when it becomes visible #111

Closed
corinnaSchultz opened this issue Sep 7, 2018 · 8 comments

Comments

@corinnaSchultz
Copy link

Summary

JAWS doesn't read all the contents in an aria-live region, and reads some of it twice.

Expected result

  1. Jaws should read the contents only once.
  2. Jaws should read the complete contents of the iframe
  3. Jaws should say "checkbox" or "radio button" where appropriate

Actual result

  1. Jaws reads the contents twice. The second time it says "dot" where there are periods. Also, the second time, it reads the checkboxes.
  2. The first time it reads, Jaws skips the checkboxes.
  3. Jaws reads the live region as though it is pure text, with no indication of the structure. No headings or checkboxes, etc. (I've noticed this also happens with tables)

Example

Example code here: https://github.com/corinnaSchultz/examples/tree/master/iframe_example
This code contains divs with checkbox and radio button roles, inside an iframe, which is itself inside an aria-live div. This is a simplified version of production code, but I have retained the complexity of the nested structures, in case it's relevant to how Jaws views the page.

To reproduce, load the test page, and then manually make the "item-contents" div visible via devtools. JAWS should then read everything inside the aria-live region.

Additional Information

JAWS version and build number

Latest jaws 2018

Operating System and version

Win 7 SP1

Browser and version:

FF 62, latest build

@corinnaSchultz
Copy link
Author

I have noticed, too, that when the contents become visible, image alt text is not read.

@JAWS-test
Copy link

Point 3 is most likely not an error. The content of a live region is only output as text.

@JAWS-test
Copy link

Generally, I find it amazing that anything is output at all (according to your statement, I haven't tested it yet) because the live region is outside the iFrame. Is it not possible to place the live region in the iFrame (file iframe_contents.html)? Then the output could be better.

@JAWS-test
Copy link

I have now tested it with JAWS 2019. If the Live Region is outside and the update is in the iFrame:

  • IE 11, Chrome: No output, regardless of focus position
  • Firefox:
    • No output if focus is outside the iFrame and the iFrame has not been focused before
    • Output when focus in iFrame
    • Output if focus is outside the iFrame, if the iFrame had previously received the focus

@JAWS-test
Copy link

If the Live region is in the iFrame, Firefox, IE 11 and Chrome will output the update even if the focus is outside the iFrame.

@JAWS-test
Copy link

Tested with

<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="utf-8">
		<title>live region</title>
	</head>
	<body>
		<div>
                        <input>
			<iframe src="https://support.freedomscientific.com/Training/Surfs-Up/AriaLiveRegions.htm">
		</div>
	</body>	
</html> 

For the first test, apply aria-live=polite to the div and remove the aria-live from the iFrame.

@lamador
Copy link

lamador commented Jun 12, 2020

The issue was reproducable using the latest version of JAWS (2020.2004.66) and Firefox (77.0.1 (64-bit)) in Windows 10 using the code provided with the live region set to the parent of the iframe and also in the following scenarios:

  • Live region is set within the iframe with focus initially set outside or on the iframe.
  • Content and live region are not within an iframe.

Additionally, no announcement is made when the live region is set to the parent of the iframe using the lastest version of JAWS and Chrome (83.0.4103.97 (Official Build) (64-bit)).

@corinnaSchultz , screen readers such as JAWS and NVDA remove the sematics of the content within a live region and provide the information as flattened text string. This is why the presence of the checkboxes and radio buttons are not announced.

@stevefaulkner
Copy link
Contributor

tested in JAWS 2023.2307.37 cannot understand what the issue is

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