fix: add AT-SPI accessible names for remaining UI widgets - #224
Conversation
|
Skipping CI for Draft Pull Request. |
Reviewer's GuideAdds object and accessible names across the remaining interactive widgets, menus, actions, and editors, bringing the reported AT-SPI coverage from 28.1% to 100% while correcting naming convention issues. File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
ff5feb3 to
47a482d
Compare
Add setObjectName/setAccessibleName for unnamed interactive widgets across multiple files. No existing names are modified. - PageView: context menu, layer menu, text menu, all QActions - CCutWidget: scale buttons, free/original/done/cancel buttons - CAttributeItemWidget: group/ungroup/expand buttons - CExportImageDialog: filename, save path, format, quality controls - DZoomMenuComboBox: zoom menu, increase/reduce buttons - CAlphaControlWidget: alpha slider - CGraphicsTextItem: text editor object name - TopTilte: main menu, CSideWidthWidget: menu combobox Log: 补全剩余控件AT-SPI可访问名称 Influence: 可交互控件可通过AT-SPI识别,覆盖率提升至100%。
47a482d to
8ca0f19
Compare
deepin pr auto review🤖 AI 代码审查报告📊 总体评价
🔍 详细分析1. 语法逻辑 ✅评价: 优秀 ✅ 通过 潜在问题: 建议: 代码语法正确,所有 setObjectName() 和 setAccessibleName() 调用均为标准 Qt API,参数类型正确,调用位置在控件初始化阶段,逻辑合理。 2. 代码质量 ✅评价: 良好 ✅ 通过 潜在问题:
建议: 1. 将 dzoommenucombobox.cpp 中 m_menu 的 setObjectName/setAccessibleName 调用从 addItem() 移至 initUI() 方法中 m_menu 创建后 3. 代码性能 ✅评价: 优秀 ✅ 通过 潜在问题:
建议: 将 m_menu 的名称设置移至初始化阶段,避免在 addItem() 中重复调用。 4. 代码安全 🔒评价: 优秀 ✅ 通过
安全漏洞详情: 建议: 本次变更未引入任何安全风险,所有控件名称均为硬编码字符串常量,无用户输入处理,无网络或文件系统操作。 💡 改进建议代码示例// dzoommenucombobox.cpp - 修复建议:将 m_menu 名称设置从 addItem() 移至 initUI()
// initUI() 方法中,m_menu 创建后添加:
void DZoomMenuComboBox::initUI()
{
// ... existing code ...
m_menu = new QMenu(this);
m_menu->setObjectName("ZoomMenu"); // 移至此处
m_menu->setAccessibleName("ZoomMenu"); // 移至此处
setWgtAccesibleName(m_menu, "Zoom Menu");
// ...
// m_btn 补充 setObjectName
m_btn = new QPushButton("", this);
m_btn->setObjectName("ZoomScaleBtn"); // 补充此行
m_btn->setAccessibleName("ZoomScaleBtn");
// ...
}
// addItem() 方法中移除 m_menu 的名称设置:
void DZoomMenuComboBox::addItem(QAction *action)
{
action->setShortcuts(QKeySequence::UnknownKey);
action->setAutoRepeat(false);
m_menu->addAction(action);
// 移除: m_menu->setObjectName("ZoomMenu");
// 移除: m_menu->setAccessibleName("ZoomMenu");
m_actions.append(action);
// ...
}本报告由 AI 代码审查工具自动生成 |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: lzwind, re2zero 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 |
|
/merge |
AT-SPI 无障碍名称补全
概述
对 deepin-draw 仓库实施 AT-SPI 信息补全,提升无障碍控件覆盖率。
覆盖率对比
补全内容
setObjectName/setAccessibleName编译验证
本地 cmake + make 编译通过,无编译错误。
质量门禁
quality_gate.py验证通过:89/89 控件已命名,覆盖率 100%,无新增缺口,无命名规范问题。Summary by Sourcery
Complete AT-SPI naming coverage across the remaining UI widgets to improve accessibility support.
Bug Fixes:
Enhancements: