Skip to content

Conversation

@ihor-kravchenko-evinced

Summary

This PR introduces support for exposing accessibility custom actions as an element attribute using private XCTest APIs.

Motivation

Once this is in place:

  • Custom actions become visible in the element tree.
  • Clients like Appium (or other accessibility tools) can read them and make further validations or conclusions.
  • Accessibility regressions related to custom actions become detectable.

Implementation Notes

  • The value is retrieved using private attribute _XC_kAXXCAttributeCustomActions

These changes are additive, so they do not change existing behaviour.

@linux-foundation-easycla
Copy link

linux-foundation-easycla bot commented Dec 20, 2025

CLA Not Signed

@mykola-mokhnach
Copy link

The PR looks ok

Please also add some integration tests to cover the new functionality for page source generation and element attributes fetching. Also, do not forget to update the element double declaration in unit tests

Add support for exposing custom accessibility actions from UI elements
@ihor-kravchenko-evinced ihor-kravchenko-evinced force-pushed the feat/add-cutom-custom-actions-attribute branch from 400c791 to 6fbf62e Compare December 20, 2025 12:25
NSLog(@"[FBCustomActions] Custom action title: %@", title);
}

NSString *joined = [stringified componentsJoinedByString:@", "];
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we need a space after ,? If not, then it makese sense to use only , to not add redundant spaces in WDA layer

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@KazuCocoa Thank you for pointing it out. I wonder if comma delimiter is reliable at all since action titles can contain commas themselves so consumers can’t reliably split.

Copy link
Member

@KazuCocoa KazuCocoa Dec 21, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I meant a space after , like below was needed here:

ah, you meant conman itself also. Agree with that, but I have no much good idea another word though

Add element double declaration for custom actions in unit tests.
Add element attributes fetching integration test.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants