Skip to content

fix: 改善 WebUI 与下载管理器的无障碍支持 - #116

Merged
SUC-DriverOld merged 1 commit into
SUC-DriverOld:mainfrom
cysworld:fix/screen-reader-accessibility
Sep 16, 2026
Merged

SUC-DriverOld merged 1 commit into
SUC-DriverOld:mainfrom
cysworld:fix/screen-reader-accessibility

Conversation

@cysworld

Copy link
Copy Markdown
Contributor

问题说明

使用读屏软件操作时存在以下问题:

  • WebUI 的模型下拉列表在使用方向键或鼠标移动选项时,读屏不会随当前选项播报。
  • DownloadManager 中部分图标按钮缺少可访问名称,只会被读作“按钮”。
  • 部分标签页、自定义控件、进度和操作结果缺少键盘支持或动态状态播报。

主要改动

WebUI

  • 增加统一的 Gradio 无障碍增强模块。
  • 修正下拉框的 combobox / listbox 语义,为选项补充唯一 ID、位置和当前活动项信息。
  • 支持方向键、Home、End、PageUp、PageDown 以及鼠标悬停时播报当前选项。
  • 完善标签页的方向键、Home、End 导航,并在 Gradio 重新渲染后保持焦点。
  • 将推理、下载、训练、工具和设置等页面的操作结果改为读屏可播报的状态区域。
  • 为无标签的数据表补充可访问名称,并在选择模型类型前禁用模型列表。
  • 改善内置 WebView 的加载、错误提示、焦点和减少动画支持。

DownloadManager

  • 增加统一的 Qt 无障碍辅助模块,为控件设置可访问名称、说明、焦点策略和键盘激活行为。
  • 完善导航栏、标题栏、命令栏、模型树、模型表格、进度条、设置项及密码控件的读屏支持。
  • 为仅图标按钮、删除按钮和“更多操作”按钮补充明确名称。
  • 为提示条和下载状态增加 Qt 无障碍播报。
  • 增加下载完成与失败信号,避免下载失败时仍显示成功,并补充 HTTP 错误处理。
  • 更新简体中文和日文 Qt 翻译,以及 WebUI 多语言状态文本。

测试

  • 使用读屏软件完成人工测试,确认下拉选项、按钮名称和主要键盘操作均可正常使用。
  • 使用 Gradio 4.38.1 和 Edge 验证下拉列表、标签页、焦点保持及动态状态播报。
  • 使用 PySide6 6.8.0.2 和 QFluentWidgets 1.8.3 进行 Qt 离屏无障碍检查。
  • 通过 Python 语法编译、JavaScript 语法检查、Ruff 致命错误规则检查。
  • 通过 JSON、Qt TS 文件解析及简体中文/日文 QM 翻译编译检查。
  • 通过 git diff --check。

- 修复 Gradio 下拉列表、标签页和动态状态的读屏及键盘交互
- 为 DownloadManager 控件补充可访问名称、状态播报和键盘操作
- 完善下载失败反馈、界面翻译和 WebView 加载状态
@SUC-DriverOld
SUC-DriverOld merged commit 39287d4 into SUC-DriverOld:main Sep 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants