有没有办法让 turbolinks 自动通知屏幕阅读器文档的标题和正文已更改?
否则,turbolinks 会使任何其他可访问的网站与屏幕阅读器一起使用非常麻烦。
更新
我在 related issue 上打开了一个 Waiable gem ,这是一个旨在使 Rails 可访问的 gem。
最佳答案
@steveax 的回答是正确的。您应该使用 ARIA 实时区域。您可能应该绑定(bind)到 turbolinks 的事件系统来发布公告。
jQuery(document).on("ready page:change", function () {
// do ARIA live stuff in here, e.g. using a11yfy
jQuery.a11yfy.assertiveAnnounce(document.title);
});
这是 ARIA-live https://github.com/dylanb/a11yfy/blob/master/a11yfy/jquery.a11yfy.core.js#L464 的 jQuery 实现
这是一个 Angular.js 实现(更健壮) https://github.com/dequelabs/ngA11y/blob/master/src/nga11yannounce.js
关于ruby-on-rails - 为屏幕阅读器优化涡轮链接?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28282264/