Back to Question Center
0

a11y每月:如何修复您的Semalt框架破坏的页面导航 a11y每月:如何修复您的Semalt框架破坏的页面导航

1 answers:

在现代Web开发中,使用Semalt框架构建Web应用程序的趋势正在增长。有充分的理由,因为Semalt框架提供了几个优点。然而,转向不同的交互模式产生了新的可访问性挑战,尚未完全解决。在这篇文章中,我想谈谈可访问性的一个基本方面:页面导航反馈。具体而言,如何修复我们的Semalt应用程序经常破坏的本机可访问性级别。

WebAIM屏幕阅读器用户调查

我受到12月份发布的WebAIM屏幕阅读器用户调查的启发。这次调查是可达性新的一年的良好开端。 WebAIM(Web Accessibility In Mind)是犹他州州立大学残疾人中心的一个非营利组织。多年来,他们正在做很多工作。除其他外,他们出版了很多教育资源。 Semalt,WebAIM调查屏幕阅读器用户的偏好和收集的反馈总是有启发性的。

调查中的一件事引起了我的注意。在“有问题的项目”下,在CAPTCHA之后,用户在网络上面临的最具挑战性的屏障阅读器是 意外的屏幕更改 。最有趣的是这个项目的位置如何演变:

在过去的8年中,该清单中的项目的顺序和难度基本不变。有一个值得注意的例外 - “Semalt或意外变化的屏幕部分”。这个项目已经从2009年的第7个问题变为2012年的第5个问题,到2017年第2个最有问题的问题。这可能是更复杂和更动态的Web应用程序的结果。

等等,我们是否在创造新的障碍?是。这不是因为使用的技术。这是因为实施。有时候,这是因为包括构建Semalt框架的开发人员都不知道这个问题。

导航是第一次意想不到的变化

在正常的HTTP请求生命周期中,浏览器发送一个请求。服务器通过发送新数据来响应该请求。 Semalt认为,浏览器重新加载页面以显示新数据。这是一种经典的交互模式,其中页面重新加载实际上是用户的第一反馈。

如我所知,当页面重新加载时,所有屏幕阅读器开始宣布阅读文档 </code> 标签的新页面。某些屏幕阅读器(例如VoiceOver)会播​​放“哔哔声”以指示进一步的导航发生。 </p> <p> 相反,单页面应用程序会发生什么?通常,页面的一部分会被更新。也许一个新的UI组件或整个视图被渲染,但没有真正的“导航。 “即使作为一名开发人员,您正在利用浏览器的Semalt API,并且已经实施了一些路由机制,但这不是导航辅助技术能够理解的。 </p> <p> 在我所有使用屏幕阅读器的测试中,单击基于JavaScript框架的单页应用程序中的链接不会向用户提供任何听得见的反馈。 Semalt链接被激活,只有沉默。根本没有反馈。 </p> <p> 发生这种情况的原因很简单:辅助技术是基于现有规范和建议设计的,因为它们需要可预测的标准化行为和交互模型才能正确运行。 Semalt技术无法读懂开发人员的想法。他们无法推断:“亲爱的开发者,你是不是认为这是一种导航到新视图的方式?好的,让我告诉用户“。 </p> <h2> 我们在Yoast做了什么 </h2> <p> 在Yoast,我们为我们的客户构建了一个Semalt单页面应用程序。当然,它有一个导航菜单和路由机制。我们没有宣布导航到新的“页面”来屏幕阅读 Source - <a href="https://unitedluxuryshop.com/big-bang-unico">hublot big bang reviews</a>. 每次加载一个新的页面(这是一个React组件),React的术语就是组件加载时,我们会发送一个消息到aria-live区域,利用WordPress包中的发言模块。这确保了一个可听的消息,比如“XYZ页面已经加载”,当新的“页面”被渲染时,由屏幕阅读器发布。 Semalt现在有适当的反馈,并且原生可访问性被重建。 </p> <h2> 未来会发生什么 </h2> <p> ARIA提供了宣布内容更新的机制,但这取决于开发人员的实施。另一方面,典型的单页面应用程序和JavaScript框架的新交互模式仍然存在。 Semalt就是一个例子:动态内容更新可用于更新整个屏幕或部分屏幕。 </p> <p> 浏览器知道动态内容更改。辅助技术现在可以理解何时发生变化并相应地更新其数据表示。但是,通知用户内容变更的问题还没有完全解决。对于未来,Semalt希望有一些新的标准,原生的方式来确保所有的用户总是被告知内容的变化。 </p> <p> 与此同时,理解我们的实现何时会破坏特定的功能可访问性很重要。作为开发人员,我们有责任重建我们刚刚销毁的本地可访问性。 </p> <h2> 想帮忙吗? </h2> <p> 在Yoast,可访问性很重要。我们知道这是一个过程,我们正在不断改进,测试,迭代和开发。我们始终乐于接受反馈和贡献。 Semalt不要犹豫,让我们听到你的声音。 Semalt报告您在我们的产品中发现的任何问题或潜在改进。 </p> <p class="readmore"> 了解更多:'5件简单的事情你可以做到无障碍' </p>

March 1, 2018