Gutenberg: 内联边界改进

创建于 2017-03-08  ·  3评论  ·  资料来源: WordPress/gutenberg

新的链接/代码边界逻辑存在各种需要纠正的小问题。

  1. 修复链接对话框在“要显示的文本”中包含 zwsp
  2. 在 zwsp 处输入会产生一个需要修剪的空链接。
  3. 取消链接可能被破坏需要更多测试。
  4. 当插入符号位于同一文本节点中但不再位于 zwsp 字符旁边时,删除 zwsp。
  5. 为 rtl 和 bidi 添加更多测试。
  6. 试试行高:-moz-block-height; 作为 Firefox Windows 渲染故障的解决方法。
  7. 添加一个选项来禁用这个东西,以防人们认为它很烦人。
  8. 尝试使用外部键盘修复 iOS 上的导航。
[Type] Task

最有用的评论

我们修复了这张票中列出的物品。 所以我要关闭这个。

所有3条评论

我喜欢这个功能,我认为它极大地有助于理解你在哪里输入。

但是,使用 Safari 10 + VoiceOver 进行快速测试,链接边界被读出为:
link zero width no break space
或类似的东西,对不起,这里不是以英语为母语的人🙂

一种选择可能是@spocke在 Slack 上提到的选择:

然后可能需要用 aria 标签将它包装在一个跨度中

当按字符或单词导航时,屏幕阅读器在进入链接时已经宣布link ,但在退出链接时他们不会宣布任何内容,所以也许只是从辅助技术中隐藏zwnbsp字符可以运作良好。

@afercia 对此进行了一些调查。

为了防止插入符号在内部/外部时正常化到锚点中,我们需要插入一些东西来阻止浏览器执行默认操作。 我们使用零宽度不间断空格,因为它基本上是一个不可见的字符,除了文档中的 BOM 签名之外,不再用于任何内容。 Jaws 似乎忽略了这些字符,但 VoiceOver 和 NVDA 会说这些字符。

我试图以各种方式解决这个问题:

  1. 将角色更改为具有 aria 角色和属性的跨度不起作用,因为大多数屏幕阅读器自满地忽略了这些属性。 我猜因为它在编辑器上下文中它没有任何相关性。 试过 role="presentation" aria-hidden="true" 和 aria-label="abc" 除了在 Jaws 上什么都没有发生。
  2. 尝试了保留的 unicode 范围 \ue000 这是为图标等保留的,不应由屏幕阅读器说出。 它不会说这些,但是浏览器选择规范化逻辑也会忽略它,因此无法使用。
  3. 添加了一个带有 aria-live="assertive" 的 role="status" 元素,并将文本推送到基本上 wp.a11y.speak 所做的事情,并且取消了 VoiceOver 上的队列,而不是 NVDA 上的队列,而且在 Jaws 上似乎有点奇怪。 规范说它可能会取消队列,所以我猜这是随机发生的。 然而,告诉用户插入符号是在链接的开头、结尾、之前还是之后,这可能是最有意义的,因为这些是我们处理的位置。 然而,一些屏幕阅读器仍然会说出奇怪的字符代码,不确定我们能做些什么。

所以总结起来很复杂。 :)

我们修复了这张票中列出的物品。 所以我要关闭这个。

此页面是否有帮助?
0 / 5 - 0 等级