Bug 246524

Summary: AX: VoiceOver splits words when a span is used in paragraph text
Product: WebKit Reporter: Martin Jones <martin.jones>
Component: AccessibilityAssignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal CC: andresg_22, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: Safari 16   
Hardware: Mac (Apple Silicon)   
OS: macOS 12   
Attachments:
Description Flags
Video of VoiceOver demonstration
none
Minimal HTML used for the video demo none

Description Martin Jones 2022-10-14 08:32:14 PDT
Created attachment 462990 [details]
Video of VoiceOver demonstration

Overview

Load the HTML page attached and use the VO (control+option) + A shortcut to instruct VoiceOver to read out the content with Safari Version 16.0 (17614.1.25.9.10, 17614)

Minimal test case

A minimal test case is attached

Expected result

Each word in the paragraph is read out in full

Actual result

Depending on the placement of the span tag and the number of characters it contains, you will get a different result, the attached video demonstrates this.

It does seem possible to predict the actual result based on the placement of the span tag and the number of characters it contains, for example:

When the span content is at the end, the beginning of the sentence is impacted:
`<p>Paragraph text with span content at the end<span>?</span></p>`

VoiceOver will read out "P aragraph text with content at the end ?"

The number of characters in the span element will impact what is read out by VoiceOver.

`<p>Paragraph text with span content at the end<span>???</span></p>`
VoiceOver will read out "Par agraph text with content at the end ???"

When the span content is at the beginning, the end of the sentence is impacted:

`<p><span>...</span>Paragraph text with span content at the beginning</p>`
VoiceOver will read out "... Paragraph text with span content at the begin ning"
Comment 1 Radar WebKit Bug Importer 2022-10-14 08:32:29 PDT
<rdar://problem/101173648>
Comment 2 Martin Jones 2022-10-14 08:34:18 PDT
Created attachment 462991 [details]
Minimal HTML used for the video demo