Bug 190437 - AX: VoiceOver does not perceive changes to text node content in HTML headings and ARIA headings
Summary: AX: VoiceOver does not perceive changes to text node content in HTML headings...
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: Accessibility (show other bugs)
Version: Safari 11
Hardware: iPhone / iPad iOS 12
: P2 Normal
Assignee: Nobody
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2018-10-10 12:17 PDT by alexander.umstead
Modified: 2021-04-12 10:17 PDT (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description alexander.umstead 2018-10-10 12:17:39 PDT
Issue:
VoiceOver on iOS does not update its virtual buffer when text in the following elements is changed at the text node level:
•	Native HTML headings
•	Elements with role="heading"
This is a problem because some web development frameworks / code libraries use substring changes to change heading text.

Steps to Reproduce:
1. Open the associated CodePen, with VoiceOver running: https://codepen.io/mra11yx/pen/ZqQYxO
2. Swipe through headings
3. Change the headings by using the "change all h3s using innertext" button. Swipe through the headings and observe that VoiceOver reads the updated values.
4. Change the headings by using the " Change all H3s using text node value replacement" button.  Swipe through the headings and observe that VoiceOver continues to read the old heading values.

Expected Results:
VoiceOver should update its virtual buffer when text nodes in headings are changed, and should read the new value.

Actual Results:
VoiceOver reads the old text value, even though the DOM has changed.

Version/Build:
iOS 11.4.1 and iOS 12
Comment 1 Radar WebKit Bug Importer 2018-10-10 12:17:59 PDT
<rdar://problem/45168830>
Comment 2 Jeffrey Carl Faden 2021-04-12 10:17:11 PDT
This is an issue with any project that uses React, as it updates text in elements by replacing their text nodes' "nodeValue" properties: https://github.com/facebook/react/issues/21212