On Thu, 12 Feb 2026 08:32:43 GMT, Jeremy Wood <[email protected]> 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...)
The issue of wrong reporting of the hyperlink component does exist but this is
not the correct way to solve it. For starters it would force old and deprecated
property-based accessibility API on this component so when Apple will finally
fully switch to the new API this will outright stop working. Currently the
hyperlink accessibility role is bound to the native peer
StaticTextAccessibility so either there should be a special case for correctly
reporting the native accessibility role and the corresponding role selectors
such as `isVisited` should be added to it or - ideally - the new peer specific
for the hyperlink needs to be created and binding in
`[CommonComponentAccessibility initializeRolesMap]` should be updated
referencing a new class.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/29686#issuecomment-3899448303