Bug 241851

Summary: AX: Voiceover does not add section to landmarks rotor menu if section aria-label added to markdown some time after page load
Product: WebKit Reporter: jartik
Component: AccessibilityAssignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal CC: andresg_22, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: Safari 15   
Hardware: Mac (Intel)   
OS: macOS 12   
See Also: https://bugs.webkit.org/show_bug.cgi?id=246987

Description jartik 2022-06-22 05:08:00 PDT
Overview:
This situation can occur e.g. if ARIA label text is downloaded from server for chosen site/web app localization and added to markdown some time after page load.

Steps to Reproduce:
1). Please use the following code snippet:
<p>Text content</p>
<section aria-label="First section label">
  <h2>First section heading</h2>
  <p>First section content</p>
</section>
<section id="second">
  <h2>Second section heading</h2>
  <p>Second section content</p>
</section>
<script>
  const section = document.getElementById('second');
  setTimeout(() => {
    section.setAttribute('aria-label', 'Second section label');
  }, 500);
</script>

2). Open rotor menu by using VO + U key combination, navigate to Landmarks section

Actual Results: Region landmark is present only for first section

Expected Results: Region landmarks are present for both sections

Build Date & Hardware: Safari 15.5 (17613.2.7.1.8) on MacOS Monterey 12.4

Additional Information:
Although second section landmark is not added to rotor landmarks menu, it is properly read while traversing the page as region with label.
Comment 1 Radar WebKit Bug Importer 2022-06-22 05:08:07 PDT
<rdar://problem/95682343>