fix: add AT-SPI accessible names for missing widget classes - #315
Conversation
Add setAccessibleName() calls and register missing widget classes in the accessible factory to improve AT-SPI / accessibility coverage. - Register new widget classes in accessible.h: TitleMenu, FindWidget, SlidePlayWidget, FileAttrWidget, SideBarImageListView, CatalogTreeView, HandleMenu, ScaleMenu, BrowserMenu - Add setAccessibleName() calls in constructors for widget-level names - Add accessible names for child controls in SlidePlayWidget, ScaleWidget, CentralDocPage, DocSheet, EncryptionPage, SecurityDialog - Enable factory support for QTextEdit, DFloatingWidget, DMenu, DAbstractDialog, DListView, DTreeView, DLabel, DToolButton These changes ensure that the accessibility layer can properly identify and expose UI components via the AT-SPI interface.
|
Skipping CI for Draft Pull Request. |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: 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 |
Reviewer's GuideRegisters previously-uncovered custom Qt/DTK widgets in the accessibility factory and assigns explicit accessible names to key widgets and controls, improving AT-SPI coverage and screen reader labeling across the reader UI. Sequence diagram for accessibleFactory handling newly registered widgetssequenceDiagram
actor ScreenReader
participant AT_SPI as AT_SPI_Bridge
participant QtAcc as QAccessible
participant Factory as accessibleFactory
participant Widget as SlidePlayWidget
ScreenReader->>AT_SPI: request_accessible_interface
AT_SPI->>QtAcc: QAccessible::queryAccessibleInterface
QtAcc->>Factory: accessibleFactory(classname, object)
Factory->>Factory: USE_ACCESSIBLE(SlidePlayWidget)
Factory-->>QtAcc: QAccessibleInterface
QtAcc-->>AT_SPI: QAccessibleInterface
AT_SPI-->>ScreenReader: expose_accessible_tree
ScreenReader->>AT_SPI: get_name(Widget)
AT_SPI->>Widget: QAccessibleInterface::text
Widget->>Widget: setAccessibleName("SlidePlayWidget")
Widget-->>AT_SPI: accessible_name
AT_SPI-->>ScreenReader: label "SlidePlayWidget"
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
|
❌ 本地验证失败(编译错误) 已在本地子项目
致命错误: 修复建议:将 ✅ 其余改动(9 个 |
Summary
Add setAccessibleName() calls and register missing widget classes in the accessible factory to improve AT-SPI / accessibility coverage.
Changes
accessible.h — New widget registrations
setAccessibleName() additions
AT-SPI coverage improvement
Summary by Sourcery
Improve accessibility coverage by registering previously missing widgets in the accessibility factory and assigning accessible names to key UI components.
Enhancements: