RFR: 8301312: Create implementation of NSAccessibilityButton protocol
Kevin Rushforth
kcr at openjdk.org
Mon Apr 10 20:33:48 UTC 2023
On Mon, 10 Apr 2023 18:54:44 GMT, Alexander Zuev <kizune at openjdk.org> wrote:
>> modules/javafx.graphics/src/main/java/com/sun/glass/ui/mac/MacAccessible.java line 807:
>>
>>> 805: if (this.peer == 0L) {
>>> 806: AccessibleRole role = (AccessibleRole) getAttribute(ROLE);
>>> 807: if (role == null) role = AccessibleRole.NODE;
>>
>> When would `role` be null? And if it is, is defaulting to `NODE` going to do the right thing once you implement the new a11y protocol for Node?
>
> It can be when customer creates a custom component that does not provide accessible attributes. With the new API that will be covered by the default implementation that will report some generic role.
OK. It looks like a `null` here can only happen for an accessible object that _isn't_ a `Node`, since `Node.getAccessibleRole` already ensures that a null value is converted to `AccessibleRole.NODE`. As long as the default implementation (of `AccessibleRole.NODE`) does the right thing for an object that doesn't report a specific role and isn't a `Node`, what you have seems fine.
-------------
PR Review Comment: https://git.openjdk.org/jfx/pull/1084#discussion_r1162062701
More information about the openjfx-dev
mailing list