VoiceOver on iOS has 'empty' swipe stops when navigating after HTML elements are made inaccessible in Safari

Originator:KenNPetri
Number:rdar://FB12101479 Date Originated:Apr 6, 2023
Status:Open Resolved:
Product:Accessibility Product Version:
Classification: Reproducible:
 
When using VoiceOver in Safari, VO treats HTML elements that become inaccessible (by making them display:none) as still being present. 

Their textual content is not announced, but they are still in the VO swipe order. 

Steps to reproduce: 
Go to https://butterpep.com/menu-select-example.html 
Turn on VoiceOver 
Swipe to the button with aria-haspopup="menu" and aria-expanded="false" ("choose an animal...") 
Double-tap to expand the menu 
Swipe right until you leave the menu and land on the button below it, named "button that does nothing" 
When you swipe to this button, a blur event will remove the menu visually and mark the menu as display:none 
When the menu is removed visually, swipe left, back up to the "choose an animal..." button. 

Expected behavior: 
Only what is visually apparent on the screen is a swipe stop. 

Actual behavior: 
The (empty) nodes that were traversed when moving down/forward through the menu are still encountered when moving up/backward, after the menu is no longer visually apparent and is technically inaccessible. 
The nodes are "empty" swipe stops, containing no text. 

This behavior does not occur in any other screen reader/browser combination on Mac, Android, or Windows. This behavior was observed on iOS 15.7.4 and 16.3.1 on multiple iOS devices.

Comments


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!