我有一个网站在给定的时间段内对用户进行身份验证,并且在任何后续页面请求中都会延长时间间隔。我想知道如何在不使用 js.alert() 的情况下通知用户他们的时间即将到期,但仍然可以访问。
我见过一些网站的内容会从顶部滑入,不会打扰用户,但仍然很明显。我看到的问题是它可能不会更新屏幕阅读器的缓冲区,并且具有可访问性需求的用户不会意识到这一点。
建议?
我有一个网站在给定的时间段内对用户进行身份验证,并且在任何后续页面请求中都会延长时间间隔。我想知道如何在不使用 js.alert() 的情况下通知用户他们的时间即将到期,但仍然可以访问。
我见过一些网站的内容会从顶部滑入,不会打扰用户,但仍然很明显。我看到的问题是它可能不会更新屏幕阅读器的缓冲区,并且具有可访问性需求的用户不会意识到这一点。
建议?
提醒用户可访问的正确方法应该是符合WAI-ARIA(可访问富互联网应用程序)规范。现在,这些文档只是您实现的技术部分 - 与所有 Internet 技术一样,它在屏幕阅读器和其他辅助工具中的实现差异很大,如果没有广泛的测试很难确定,但它肯定是我们必须使用的最好的截至目前。
规范要求用 标记这种类型的消息,并用属性标记role='alert'
它们的对话框。role='alertdialog'
它指出警报是
包含重要且通常具有时间敏感性的信息的消息。
这肯定符合要求。现在我不确定您对屏幕阅读器缓冲区问题的担忧,但就我对这个主题的阅读而言,采用 WAI-ARIA 规范的屏幕阅读器将需要不断扫描页面以查找新属性和元素,正如本教程所示,甚至可以将alert
属性添加到页面上已经存在的元素中,因此我认为您的关注不会给现代屏幕阅读器带来问题。
您可以使用一些不错的 JS/jquery 倒计时并将其显示给页面某处的用户。最终显示漂亮的对话框并警告会话即将到期,或者只要打开页面,就可以使用 AJAX 静默刷新会话。
我在银行账户页面看到了一个从 10 分钟开始倒计时的计时器。这很简单,并且可以很好地告诉我在我的会话关闭之前我必须填写表格的时间。