Repository navigation
fix: add AT-SPI accessible names for interactive widgets - #487
dengzhongyuan365-dev wants to merge 6 commits into
Conversation
Add setObjectName() and setAccessibleName() calls for 29 interactive widgets missing AT-SPI accessibility names across 10 source files. 为归档管理器中29个缺失AT-SPI无障碍名称的交互控件添加setObjectName() 和setAccessibleName()调用,覆盖10个源文件。 Log: 补全归档管理器AT-SPI无障碍名称 Influence: 无障碍辅助工具和自动化测试可通过名称定位所有交互控件
|
Skipping CI for Draft Pull Request. |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: dengzhongyuan365-dev 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 |
Reviewer's GuideThe PR improves AT-SPI discoverability by assigning matching object and accessible names to all 29 previously unnamed interactive widgets across the archive manager UI, bringing the reported scan coverage from 12.1% to 100%; it also refreshes copyright year headers in the touched files. File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
…al-field pipeline) - 226 cases normalized from xlsx (8 manual, 218 automatable) - 13 automatable suites + 5 unsupported suites (manual cases) - element-map with 28 filled entries (object_name/id_name) - 17 elements in coverage denominator, 100% coverage gate PASS - Gate 5/4 static validation passed, runtime smoke passed - Deliverables: yaml/, element-coverage-manifest.yaml, coverage-report.yaml, cases_mapped.yaml
…compatibility Root cause: installed binary 6.5.31 lacks setObjectName/setAccessibleName (added in 6.5.34). accessible_id returns empty for all nodes, and AT-SPI role is 'button' not 'push button'. Changes: - Remove accessible_id from all selectors, use name+role instead - Fix role values: 'push button' → 'button' - ListEncryptionButton (empty AT-SPI name): use ref to elements.yaml entry with role+index fallback (passed Gate 5 semantic safety check) - Regenerate element-coverage-manifest.yaml (16 elements, locator=name) - Regenerate coverage-report.yaml (100% coverage, PASS) - Smoke verified: suite_006/011/015/020/027/031/035 all pass
…ait_for and file_dialog_select steps - Add test data files under tests/at/files/ (test.txt, hello.txt, test.zip, test.7z, test.tar.gz) - Set QT_LINUX_ACCESSIBILITY_ALWAYS_ON=1 in session_start command to activate Qt AT-SPI bridge - Increase session_start wait from 3.0s to 5.0s - Add wait_for (15s timeout) on first element_action step of each spec - Add file_dialog_select step after clicking 选择文件 to select test data - Update cases_mapped.yaml to reflect suite changes - Fixes: 未找到 选择文件 元素 error caused by missing AT-SPI bridge activation and test data
…ove QT_LINUX_ACCESSIBILITY_ALWAYS_ON Root cause: commit c9b3800 incorrectly switched selectors from accessible_id (English identifiers from setAccessibleName/setObjectName) to name+role (Chinese display text). AT-SPI exposes the name property as the English identifier, not the Chinese display text, so all element lookups failed with '未找到 role=push button 元素'. Changes: - elements.yaml: restore accessible_id format with 17 English identifiers - suite.yaml: revert all selectors to accessible_id, remove QT_LINUX_ACCESSIBILITY_ALWAYS_ON=1 from session_start command, keep file_dialog_select steps and test data vars from 6fe9652 - element-coverage-manifest.yaml: restore locator: accessible_id - coverage-report.yaml: restore 17/17 coverage - cases_mapped.yaml: match corrected suite.yaml Gate 5/4 validation: PASS
Commit 7274d1e erroneously reverted the working name+role selectors back to accessible_id+role:push_button, which fails on the installed 6.5.31 binary (accessible_id returns empty, AT-SPI role is 'button' not 'push button'). This restores the proven-working state from 6fe9652: - Selectors use name (Chinese label) + role: button - wait_for blocks on first selector per suite - file_dialog_select steps with TEST_TXT/TEST_ZIP vars - QT_LINUX_ACCESSIBILITY_ALWAYS_ON=1 in session_start command - elements.yaml with name+role locator strategy - element-coverage-manifest.yaml and coverage-report.yaml regenerated Gate 4/5: PASS
|
TAG Bot New tag: 6.5.35 |
AT-SPI 无障碍名称补全
任务概述
对 deepin-compressor(归档管理器)进行 AT-SPI 控件扫描与无障碍名称补全。
扫描结果(补全前)
补全内容
为 29 个缺失 AT-SPI 无障碍名称的交互控件添加
setObjectName()和setAccessibleName()调用,涉及 10 个源文件:覆盖率对比
验证
通过
quality_gate.py重新扫描验证,覆盖率提升至 100%,无新增缺口。Summary by Sourcery
Complete AT-SPI naming for interactive archive-manager widgets and add coverage validation for accessible UI automation.
New Features:
Enhancements:
Tests:
Chores: