Nektarios Paisios would like Kyungjun Lee to review this change.
Implements functionality that enables a11y actions to be performed on
the first object with a given role
Until now, if you wanted to perform an accessibility action
you needed to know the ID of the node on which you want
the action performed.
This patch enables functionality that allows the action to
be performed on the first object in the AX tree
(using pre-order traversal) with the given role.
This will enable actions to be performed on trees that are
present in Blink but not on the browser side.
This will enable the accessibility tree in the ChromeOS Media App
(aka Backlight) to be stitch into the first canvas found in the app's
contents.
AX-Relnotes: n/a.
R=kyung...@google.com
Bug: b/303133098
Change-Id: I81b431484c10de1b835381650d0bed68f82f2f05
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Hi Nektarios, not sure if this CL is ready for review, but I went through it quickly and left my initial comments on it.
static std::unique_ptr<ui::AXActionTarget> CreateFromNodeId(
Should we possibly be renaming it to something like `CreateFromNodeIdOrRole()` for clarity? It seems that a relatively small number of lines are currently using this one as shown in [1].
[1] https://source.chromium.org/search?q=CreateFromNodeId%20-gen&sq=
LOG(ERROR) << "\nnektar\ntraversing object\n" << object;
nit: remove this logging
LOG(ERROR) << "\nnektar\ncalling into AXObject. " << role;
nit: remove this logging
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Yes it's ready for review
LOG(ERROR) << "\nnektar\ntraversing object\n" << object;
Nektarios Paisiosnit: remove this logging
Done
LOG(ERROR) << "\nnektar\ncalling into AXObject. " << role;
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
static std::unique_ptr<ui::AXActionTarget> CreateFromNodeId(
Should we possibly be renaming it to something like `CreateFromNodeIdOrRole()` for clarity? It seems that a relatively small number of lines are currently using this one as shown in [1].
[1] https://source.chromium.org/search?q=CreateFromNodeId%20-gen&sq=
Done
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Hi Nektarios, it seems that a new patchset hasn't been uploaded?
static std::unique_ptr<ui::AXActionTarget> CreateFromNodeId(
Nektarios PaisiosShould we possibly be renaming it to something like `CreateFromNodeIdOrRole()` for clarity? It seems that a relatively small number of lines are currently using this one as shown in [1].
[1] https://source.chromium.org/search?q=CreateFromNodeId%20-gen&sq=
Done
This one hasn't changed; maybe a new patch hasn't been uploaded yet?
LOG(ERROR) << "\nnektar\ntraversing object\n" << object;
Nektarios Paisiosnit: remove this logging
Done
ditto
LOG(ERROR) << "\nnektar\ncalling into AXObject. " << role;
Nektarios Paisiosnit: remove this logging
Done
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Blink changes look ok.
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
From googleclient/chrome/chromium_gwsq/ipc/config.gwsq:
IPC: joenot...@google.com
📎 It looks like you’re making a possibly security-sensitive change! 📎 IPC security review isn’t a rubberstamp, so your friendly security reviewer will need a fair amount of context to review your CL effectively. Please review your CL description and code comments to make sure they provide context for someone unfamiliar with your project/area. Pay special attention to where data comes from and which processes it flows between (and their privilege levels). Feel free to point your security reviewer at design docs, bugs, or other links if you can’t reasonably make a self-contained CL description. (Also see https://cbea.ms/git-commit/).
IPC reviewer(s): joenot...@google.com
Reviewer source(s):
joenot...@google.com is from context(googleclient/chrome/chromium_gwsq/ipc/config.gwsq)
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Code-Review | +1 |
static std::unique_ptr<ui::AXActionTarget> CreateFromNodeId(
Nektarios PaisiosShould we possibly be renaming it to something like `CreateFromNodeIdOrRole()` for clarity? It seems that a relatively small number of lines are currently using this one as shown in [1].
[1] https://source.chromium.org/search?q=CreateFromNodeId%20-gen&sq=
Kyungjun LeeDone
This one hasn't changed; maybe a new patch hasn't been uploaded yet?
Saw the latest patchset; resolved it.
LOG(ERROR) << "\nnektar\ntraversing object\n" << object;
Nektarios Paisiosnit: remove this logging
Kyungjun LeeDone
ditto
Done
LOG(ERROR) << "\nnektar\ncalling into AXObject. " << role;
Nektarios Paisiosnit: remove this logging
Kyungjun LeeDone
ditto
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
@Joe Mason, is the current description enough, or do you need more informationh in order to review this patch?
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
[MinVersion=2] ax.mojom.Role target_role;
Nit: it would be better to use a union so that AXActionData always contains either an ID or a role (or neither). But since that would be cumbersome with versioning, how about returning `false` from StructTraits::Read in ax_action_data_mojom_traits.cc if both ID and role are set? That way mojo error handling will do the right thing if both are set.
Also please add a comment to the .mojom to document that they're mutually exclusive.
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
[MinVersion=2] ax.mojom.Role target_role;
Nit: it would be better to use a union so that AXActionData always contains either an ID or a role (or neither). But since that would be cumbersome with versioning, how about returning `false` from StructTraits::Read in ax_action_data_mojom_traits.cc if both ID and role are set? That way mojo error handling will do the right thing if both are set.
Also please add a comment to the .mojom to document that they're mutually exclusive.
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Implements functionality that enables a11y actions to be performed on
the first object with a given role
Until now, if you wanted to perform an accessibility action
you needed to know the ID of the node on which you want
the action performed.
This patch enables functionality that allows the action to
be performed on the first object in the AX tree
(using pre-order traversal) with the given role.
This will enable actions to be performed on trees that are
present in Blink but not on the browser side.
This will enable the accessibility tree in the ChromeOS Media App
(aka Backlight) to be stitch into the first canvas found in the app's
contents.
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |