如何在 iPhone 上使用 VoiceOver 制作一组<div>?

How to Make a <div> a Group of Items with VoiceOver on iPhone?

提问人:leopardcat14 提问时间:8/9/2023 最后编辑:leopardcat14 更新时间:8/9/2023 访问量:50

问:

我正在尝试使用 React 创建一个可访问的阅读应用程序。我的目标是让用户能够在阅读时轻松地在章节之间导航。为了实现这一点,我使用了 <div> 元素来包装文本内容。

喜欢这个:

<div>
    <button>previous</button>
    <div aria-label='content'>
        <p>paragraph 1</p>
        <p>paragraph 2</p>
        ...
        (many <p> tags)
    </div>
    <button>next</button>
<div>

在 Mac 上使用 VoiceOver 功能时,我可以在选择“上一个”按钮时选择 <div> 元素,然后按“→”导航到 div,然后使用“Caps Lock + Shift + ↓”进入组。但是,在 iPhone 的浏览器上执行相同的操作时,选择仅选择 <p> 标签。

我尝试调整了咏叹调属性和角色属性,但我无法复制我在 Mac 上遇到的行为。

有没有办法修改 iPhone 上 <div> 元素的行为以匹配我在 Mac 上观察到的行为?

Mac Chrome

iPhone Safari 浏览器

HTML iPhone 辅助功能 wai-aria 画外音

评论

0赞 slugolicious 8/9/2023
Mac 上的 VoiceOver 与 iPhone 上的 VoiceOver 完全不同,但如果您在 Mac 上启用触控板指挥官,您可以在触控板上执行 iPhone 手势。我没有遵循你想要的行为。您无法导航到外部 <div> 本身。它不是一个语义元素。此外,内部 <div> 将被忽略,因为 <div> 没有角色。请参阅 w3.org/TR/using-aria/#label-support 的倒数第三个要点。aria-label

答: 暂无答案