我有一个站点,用于在给定时间段内对用户进行身份验证,并在任何后续页面请求中对该时间间隔进行扩展。我想知道如何通知用户他们的时间即将到期而不使用js.alert()但仍然可以访问。
我见过一些网站内容会从顶部滑入而不会侵入用户,但仍然会引人注目。我看到的问题是它可能无法更新屏幕阅读器的缓冲区,并且具有可访问性需求的用户将不会意识到这一点。
连连呢?
答案 0 :(得分:5)
提醒用户可访问的正确方法应该是符合WAI-ARIA(可访问富Internet应用程序)规范。现在这些文档只是实现的技术部分 - 与所有互联网技术一样,它在屏幕阅读器和其他可访问性工具中的实现差异很大,如果没有大量的测试很难确定,但它肯定是我们必须使用的最好的截至目前。
规范要求使用role='alert'
标记此类消息,并使用role='alertdialog'
属性标记其对话框。它声明警报
重要的消息,通常是 时间敏感的信息。
这肯定符合法案。现在我不确定你对屏幕阅读器缓冲问题的关注,但就我对这个主题的阅读而言,采用WAI-ARIA规范的屏幕阅读器需要不断扫描页面以寻找新的属性和元素,正如this之类的教程所示,甚至可以将alert
属性添加到页面上已存在的元素中,因此我不认为您的关注应该给现代屏幕阅读器带来问题。
答案 1 :(得分:1)
您可以使用一些不错的JS / jquery倒计时并在页面上的某个位置向用户显示它。最终显示看起来很好的对话框,其中包含会话即将过期的警报,或者只要打开页面,就可以使用AJAX静默刷新会话。
我在银行帐户页面看到计时器从10分钟开始倒计时。这很简单,并且在我的会话结束之前,我可以提供很多关于填写表格的时间的信息。