feat: add AT-SPI accessibility support for interactive widgets - #612
feat: add AT-SPI accessibility support for interactive widgets#612MyLeeJiEun wants to merge 1 commit into
Conversation
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: MyLeeJiEun The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
CLA Assistant Lite bot All contributors have signed the CLA ✍️ ✅ |
|
Hi @MyLeeJiEun. Thanks for your PR. I'm waiting for a linuxdeepin member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
Reviewer's GuideThis PR establishes AT-SPI testability and screen-reader semantics across the network configuration UI by naming native and dynamic widgets, annotating QML controls and containers with stable IDs and roles, and adding a comprehensive expected accessibility mapping; modified files also receive SPDX year updates. File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
There was a problem hiding this comment.
Hey - I've found 1 issue
Prompt for AI Agents
Please address the comments from this code review:
## Individual Comments
### Comment 1
<location path="dcc-network/qml/NetButton.qml" line_range="7" />
<code_context>
import QtQuick.Controls 2.15
Button {
+ Accessible.id: "NetButton_Button"
implicitHeight: implicitContentHeight + 6
implicitWidth: implicitContentWidth + 10
</code_context>
<issue_to_address>
**issue (bug_risk):** The same fixed accessibility IDs are assigned to reusable components and repeated delegates, so multiple network items or password/button instances expose duplicate AT-SPI anchors and an ID-based lookup resolves the wrong element or becomes ambiguous.
**Triggers:** When more than one network item, delegate, or reusable editor is instantiated at the same time.
**Suggested fix:** Derive the accessibility ID from the owning connection/item identity, or scope the test lookup by the containing page and delegate.
</issue_to_address>Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.
| import QtQuick.Controls 2.15 | ||
|
|
||
| Button { | ||
| Accessible.id: "NetButton_Button" |
There was a problem hiding this comment.
issue (bug_risk): The same fixed accessibility IDs are assigned to reusable components and repeated delegates, so multiple network items or password/button instances expose duplicate AT-SPI anchors and an ID-based lookup resolves the wrong element or becomes ambiguous.
Triggers: When more than one network item, delegate, or reusable editor is instantiated at the same time.
Suggested fix: Derive the accessibility ID from the owning connection/item identity, or scope the test lookup by the containing page and delegate.
135a194 to
9aea012
Compare
Use objectName as test-locator anchors for interactive QML elements in dcc-network. Add Accessible.role for screen-reader semantics on view containers. Delegate/Repeater/DelegateChoice objectName values made dynamic (appending index or model.item.id) for uniqueness. Fixed Repeater_ItemDelegate in PageWirelessDevice.qml to append index. C++ widgets use setObjectName() as test-locator anchors. Copyright headers updated to include 2026. Rebuild tests/at/spi/expected_names.yaml (accessible_id field). Log: 为 dde-network-core 补全 AT-SPI 定位锚点支持 Influence: 提升无障碍辅助工具与自动化测试对网络组件控件的定位能力
9aea012 to
fde63e3
Compare
AT-SPI Accessibility Support
This PR adds AT-SPI accessibility support for interactive widgets in dde-network-core, replacing the broken PR #607.
Changes
setObjectName()calls for test anchoring (AccessibleId)Accessible.id/Accessible.roleproperties for AT-SPI test anchoring and screen reader semanticstests/at/spi/expected_names.yamlfor AT-SPI UI mapping testsVerification
master(commitd1a7e758) with proper common ancestorgit diff --statconfirms only 46 files changed (AT-SPI related only)Related
Summary by Sourcery
Enable AT-SPI testing and assistive-technology support throughout the network configuration interface.
New Features:
Enhancements:
Tests:
Chores: