跳转至

各呈现方式中的操作名称保持一致

提议的不变式:命令的可见标签、工具提示、菜单措辞和无障碍名称描述的是同一对象上的同一操作。仅图标的呈现方式必须保留该含义。这适用于共享的 Web/Electron 控件以及相应的 React Native iOS/Android 操作(只要这些操作可用)。

各呈现方式之间,字符串可能会彼此偏离,而每种呈现方式看起来仍然合理。一个名为“复制链接”的消息复制操作,对使用屏幕阅读器的人来说,承诺的剪贴板内容是不同的。应使用能够识别实际目标的措辞,包括当消息包含链接或结构化上下文时。额外的剪贴板格式并不会把复制消息变成复制链接。

本提案借鉴了 Apple 的写作和无障碍指南。这是一项产品约束,而非声称获得 Apple 认证或完全符合应用要求。

边界

原生菜单和辅助技术可能使用不同的措辞,或省略工具提示。标签需要语义上的一致性,而非跨平台的完全相同字符串。当目标明确无歧义时,上下文相关的“复制”就足够了;不要将其全局展开。临时性的“已复制”反馈可以替代操作标签,而不意味着目标不同。剪贴板传输、成功时机和错误报告属于不同的问题范畴。

可观察的情形

  • 用户和助手消息复制控件在工具提示和无障碍名称中均标识该消息。折叠长消息不会改变操作的含义。
  • 复制带有结构化上下文的消息时,仍应标识该消息;不应承诺仅复制上下文链接。
  • 代码和计划复制操作保留各自的目标。上下文相关的计划菜单可以说“复制到剪贴板”;代码控件绝不能被宣告为复制消息。
  • 等效命令的图标、带标签的按钮或原生菜单传达相同的操作。完成反馈绝不会指向不同的对象。

请将可见措辞与运行时的无障碍名称及最终操作一同验证。仅凭源代码检查和截图无法确定无障碍树的行为。

本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 t3/t3code