RFR: 8377745: VoiceOver Identifies Hyperlink as Text [v2]

Damon Nguyen dnguyen at openjdk.org
Fri Feb 20 20:41:05 UTC 2026


On Fri, 13 Feb 2026 22:15:31 GMT, Jeremy Wood <jwood at openjdk.org> wrote:

>> ~~If we use `new AccessibleRole("AXLink") {}`, then VoiceOver reads this more like other native apps.~~
>> 
>> ~~There isn't a similar precedent in CAccessibility for creating custom AccessibleRoles, so I won't mind if this PR is declined. (But I don't know off the top of my head where else to inject code to get the desired result...)~~
>> 
>> This introduces a new LinkAccessibility.m file to help VoiceOver and Accessibility Inspector correctly identify AccessibleRole.HYPERLINK as "link"
>
> Jeremy Wood has updated the pull request incrementally with two additional commits since the last revision:
> 
>  - 8377745: creating new LinkAccessibility
>    
>    This helps convert from AccessibleRole.HYPERLINK to the new LinkAccessibility.
>    
>    The new LinkAccessible still references `CommonTextAccessibility<NSAccessibilityStaticText>`.
>    
>    This (both the subject matter and the programming language) is outside of my area of expertise, but the unit test passes.
>    
>    This is based on this feedback:
>    https://github.com/openjdk/jdk/pull/29686#issuecomment-3899448303
>  - Revert "8377745: use custom "AXLink" AccessibleRole"
>    
>    This reverts commit d66355973918458352d15174a2cf21a177763c23.

Looks like the test passes as expected. The link is actually identified as a link with the changes, when it is not without the changes. Tested looks good.

-------------

Marked as reviewed by dnguyen (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/29686#pullrequestreview-3834120292


More information about the client-libs-dev mailing list