个性化

无障碍

Gitcito 的目标是不用鼠标也能操作,屏幕阅读器也能读懂。这一页讲清楚这具体 意味着什么——以及边界在哪里。

键盘

  • 标签页、侧边栏行、文件列表和工具栏菜单都能获得焦点,用 Enter 或 Space 激活。分体按钮(pull/push/stash)把下拉箭头作为独立的可聚焦控件暴露出来。
  • 提交图是一个焦点停靠点:聚焦后用上/下方向键(或 j/k)在历史里走动。 选中的提交会连同主题、作者和位置一起播报。Shift+F10(或菜单键)打开选中 提交的右键菜单。
  • 右键菜单打开时就带着焦点:方向键移动,Enter 激活,ArrowRight/ArrowLeft 进入和退出子菜单,Escape 关闭。
  • 对话框会把 Tab 困在内部,关闭时把焦点还回原处,并且能用 Escape 关闭。
  • 命令面板(Cmd/Ctrl+K)是一个组合框:输入时、用方向键翻找时,结果都会 被播报。

屏幕阅读器

  • 每个对话框都会连同标题一起播报。Toast——应用的反馈通道——是实时区域: 成功礼貌地播报,错误则会打断。
  • 进度(克隆、更新下载)以带百分比的进度条形式暴露,忙碌状态(“正在获取…”) 会自行播报。
  • 文件状态会被读出来(“已添加”“已修改”“有冲突”),而不只是显示成一个带颜色 的符号。
  • 窗口用地标(banner、main、侧边栏、状态栏)组织结构,所以按地标导航是可 用的。

边界,直说

  • 终端是 xterm.js,继承了它薄弱的屏幕阅读器支持。请把它当成给明眼用户 的界面;它提供的每个 git 操作都另有对应的 UI 动作。
  • Cosmos(3D 历史)、提交图的泳道和图片差异天生是视觉化的。它们背后的 数据——提交列表、文件列表——是无障碍的;画面本身不是。
  • 拖放(重排交互式变基的步骤、把分支拖过去合并)在注明的地方只能用指针 完成;每个拖放动作都有菜单或按钮等价物。
  • 这一页背后的审查是在 macOS 上用 VoiceOver 做的。Windows 上的 NVDA/JAWS 应该表现一致,但尚未实测——欢迎以 issues 的形式反馈。

相关设置

减弱动态效果会遵循操作系统设置——动画会退化成瞬时切换。主题对比度可以 在设置 → 外观里按主题调整。

在 GitHub 上改进这份翻译