Bug 173914 - AX: VoiceOver reads absolutely positioned elements on visual order when these elements are inside a <section> or a <div> with aria-label or aria-labelledby
Summary: AX: VoiceOver reads absolutely positioned elements on visual order when these...
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: Accessibility (show other bugs)
Version: Safari 10
Hardware: Mac macOS 10.12.4
: P2 Normal
Assignee: Nobody
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2017-06-28 02:33 PDT by Károly Szántai
Modified: 2017-06-28 02:34 PDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Károly Szántai 2017-06-28 02:33:48 PDT
Steps to Reproduce:
(1) Create this CSS rule:

.vishidden {
  position: absolute;
  left: -10000em;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
  white-space: nowrap;
}

(2) Create this HTML code:

<section aria-labelledby="sectionh2">
  <h2 id="sectionh2">Example 1: section with aria-labelledby</h2>
  <p>first <span class="vishidden">second</span> <span>third</span> <span class="vishidden">fourth</span></p>
</section>

or this:

<section aria-label="Example 2: section with aria-label">
    <h2>Example 2: section with aria-label</h2>
    <p>first <span class="vishidden">second</span> <span>third</span> <span class="vishidden">fourth</span></p>
</section>

Expected Results:
Expected reading order: "first, second, third, fourth"

Observed Results:
VoiceOver says: "second, fourth, first, third"

Version:
macOS 10.12.5
Safari 10.1.1

Notes:
Sample code: https://www.akadalymentesweb.hu/demok/voiceover-read-order-bug
Comment 1 Radar WebKit Bug Importer 2017-06-28 02:34:09 PDT
<rdar://problem/33026588>