Added LandmarkType to automation properties#20134
Conversation
|
You can test this PR using the following package version. |
|
Notes from the API review meeting: the changes are accepted as proposed. |
…ationTestApp, which is required for Narrator to find the landmark
|
You can test this PR using the following package version. |
|
I found that Still having trouble getting VoiceOver to detect landmarks though; they're not showing up in the VoiceOver rotor, even with Nevertheless, I'm happy for this to be reviewed now. 👍 First message in the PR has been updated to match the latest fix commits. |
|
You can test this PR using the following package version. |
|
@MrJul Could this potentially be backported to 11.x? Is there anything I can do to help with that process? |
|
@MrJul Apologies for the additional ping about this PR (I'll refrain from pinging again). Is there any possibility this can still be backported to 11.3.x? This isn't a breaking change as far as I'm concerned. I'd be happy to help in any way I can to make this happen if needed, as this is quite important for our app to have. |
No worries, I somehow completely missed the first one, sorry about that!
Yes, this can definitely be backported. This is a nice self-contained enhancement; there should be no issue. |
* Added LandmarkType to automation properties * Set AutomationProperties.AccessibilityView on Main landmark in IntegrationTestApp, which is required for Narrator to find the landmark * Implement AXRoleDescription as suggested by W3C * Fixed wrong role descriptions
What does the pull request do?
This implements
LandmarkTypeinAutomationProperties, and can be used to indicate big "landmark" points within the app that the user can navigate between quickly.What is the updated/expected behavior with this PR?
Add
AutomationProperty.LandmarkType="Main"to some main content. This element will now get theMainlandmark type on Windows UIA and Mac AX.Something that I haven't quite figured out yet is how Mac VoiceOver finds landmarks. It's not able to navigate between or find the landmarks (despite having the properties set correctly). I'll investigate a bit more, but this PR should at least be a good first step.
How was the solution implemented (if it's not obvious)?
I implemented this as an enum, because implementation is not straight forward between Windows and Mac. To be precise:
LandmarkTypeAXSubroleAXRoleDescriptionThis follows the mapping role table from w3c.
Checklist
Fixed issues