javascript - 禁用/启用按钮时的辅助功能问题
问题描述
当我的按钮启用/禁用时,我面临可访问性问题:下面是我的角度形式:
<form>
<input type="text" id="UserName">
<input type="text" id="Password">
<button type="submit" [disabled]="conditions">
</form>
如果在我的输入字段中没有输入任何内容,我的按钮在此条件下被禁用。我如何向用户传达我的按钮已禁用,因为焦点无法放在禁用的按钮上。我是否真的需要向用户传达禁用按钮并在启用时传达。
解决方案
我是否真的需要向用户传达禁用按钮并在启用时传达。
这很大程度上取决于你。用户代理已经传达了信息(可视的以“灰色”或类似的外观显示按钮;非可视的以其他方式报告它)。
如何向用户传达我的按钮已禁用...
这也取决于你。如果您想在它说某事之后包含一条消息,并且仅在禁用按钮时显示该消息,那么使用 HTML 和 CSS 使用下一个兄弟组合符( +
) 就很容易了:
<button type="submit" [disabled]="conditions">button text</button>
<span class="show-on-disable">your text here</span>
CSS:
.show-on-disable {
display: none;
}
button[disabled] + .show-on-disable {
display: inline;
}
现场示例:
document.querySelector("input[type=checkbox]").addEventListener("change", function() {
var btn = document.querySelector("button");
btn.disabled = !btn.disabled;
});
.show-on-disable {
display: none;
}
button[disabled] + .show-on-disable {
display: inline;
}
<div>
<label>
<input type="checkbox">
Disable the button
</label>
</div>
<button type="submit">button</button>
<span class="show-on-disable">your text here</span>
推荐阅读
- mysql - 在 InnoDB 中使用 MAX 模拟自动增量的最快和最安全的方法
- react-native - React-native:onPress 动作正在阻止 Swipe 动作
- asp.net - 如何为弹出错误消息设置焦点?
- nativescript - 单击图像以更改该图像状态(启用或禁用图像颜色更改)
- javascript - 在具有 flex-direction: 行的 flexbox 中 Ngx-datatable 不会缩小
- ibm-cloud - Personality Insights:有速率限制吗?
- javascript - 在 React 中创建数独
- postgresql - 每当我从终端运行 createdb 或 dropdb 时,Postgresql 突然要求我输入密码
- conv-neural-network - 融合 CNN 和 GRU 模型的中间输出
- python-2.7 - 在 Django-Polymorphic 包中更改子类的“选择”