0

我对隐藏内容如何与辅助技术一起使用有点困惑。我会给你举几个例子,希望你能解释一下,请:

  1. 如果我想制作一个小弹出窗口,即以前是display:none;,使用 AT 的用户将如何理解它是新的东西,除了我会自动为这个弹出窗口提供焦点的事实?

  2. 我应该如何制作可访问的图像滑块?我听说过roleandaria-*属性,并且当时只有可见的图像应该是display:block;或只是可见的,而所有其他图像都应该是display:none;. 如果是这样,用户不会对他的 AT(第一个问题的一部分)感到困惑吗?

  3. 除了台式计算机对移动设备的要求之外,还有其他东西吗?例如,如果我想为移动屏幕制作汉堡菜单,是否应该用 ? 隐藏它的链接display:none;?我应该如何注意到用户现在可以看到链接?

4

1 回答 1

1
  1. 提供焦点是弹出窗口的关键,通常是关闭它的控件。但是,如果您的弹出窗口并不是真正的弹出窗口,而只是页面顶部的一个更新框,那么您可以跳过焦点并使用实时区域。简而言之,这取决于你在做什么。请记住,弹出窗口旨在防止用户在执行指定操作之前与页面的其余部分进行交互,而更新内容块不带有该限制。

  2. 如果您正在移动焦点,则没什么大不了的。隐藏的图像不会出现在页面内容中,因此它们不会减慢用户的速度。在这种情况下,不要使用活动区域,因为它会在循环过程中不断干扰用户。

  3. 在这种情况下,通过将焦点移动到以前隐藏的导航菜单。使用易于访问的名称,它会正常工作。

我怀疑你不熟悉ARIA live region,尽管你知道焦点管理。

实时区域可以满足您的一些需求。您需要了解一些实时区域属性。如果您希望一个区域在更改后立即公布,那么无论用户在做什么,都将是assertive. 如果您希望它等到用户完成交互,那么它将是polite. 还有相应的活动区域角色,我将在下面显示。

此外,该aria-atomic属性将告诉屏幕阅读器它是应该宣布整个事情(这对警报消息有好处)还是只宣布更改的部分(这可能更适合计时器)。

避免在一个页面上有多个 ARIA 活动区域。

这是离线警报的示例。这是一个方便的幻灯片共享,其中包含更多详细信息。现在您知道要搜索什么,还有更多内容。

于 2016-11-26T01:29:12.023 回答