javascript - 页面刷新到屏幕阅读器时触发角色“警报”
问题描述
我正在处理一个问题,其中我有一个登录页面,当凭据错误时,它将刷新页面并且返回的页面呈现错误消息。
由于我已阅读 ARIA 标签和角色标签仅在处理页面中的更改而不是整个刷新时才起作用,因此我还没有找到在页面刷新时触发屏幕阅读器警报警告的解决方案。
我曾尝试在文档准备好时使用 Jquery 焦点,但效果不佳。我也尝试过使用 JQuery 隐藏和显示,但这对于解决方案来说似乎太“hacky”了。
我无法避免页面重新加载,因为它提交表单并且刷新时会呈现错误消息。
我的代码是这样的:
<% if (session.getAttribute("formErrors") != null && ((FormErrors)session.getAttribute("formErrors")).isEmpty() == false) { %>
<div id="divAlertErrorTable" class="alert alert-danger" role="alert" aria-relevant="all">
<form:messages/>
<form:errors/>
</div>
<% } %>
最终呈现在页面中的代码是这样的:
<div
id="divAlertErrorTable"
class="alert alert-danger"
role="alert"
aria-relevant="all"
>
<br />
<table cellpadding="3" cellspacing="0" class="errorMessageTable">
<tr>
<td>
<li class="errorMessage">
The login information could not be validated. Please try again or
contact your system administrator.
</li>
</td>
</tr>
</table>
</div>
解决方案
推荐阅读
- ios - SwiftUI 视图 - viewDidLoad()?
- google-colaboratory - ValueError:带有 DeepLab demo.ipynb 的未知 url 类型
- python - 在 python 3.6 中很难为颜色条绘制图例
- java - 在整数数组中查找两个元素的总和并返回两个元素的第一个匹配项的索引,对某些人有效,对少数人无效
- javascript - 获取在 JS for of 循环中看到的上一个项目?
- mule - 如何使用给定的数组动态获取属性
- c# - Visual Studio 如何设置依赖于程序集版本的输出路径
- tensorflow - tensorflow keras 中 model.trainable=False 的预期行为和目的是什么
- python - partitionBy 使用 Pyspark 在 S3 上保存数据集时花费的时间太长
- css - 如何使用 scss 修复 div 宽度(带有反应)