微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

以可访问的方式将表单外部的按钮与表单相关联

如何解决以可访问的方式将表单外部的按钮与表单相关联

我有以下来自 Vue 组件的简单 html

<div v-if="!answer">
   <h5>Question?</h5>
   <button>Yes</button>
   <button>No</button>
</div>
<form v-if="answer == 'no'">
  <label for="id123">Question 2</label>
  <textarea id="id123"></textarea>
  <button type="submit"></button>
</form>
<div v-if="answer='submitted'">
  Errors or success message from server
</div>

如果答案是“是”,它将被发送到服务器。 如果问题的答案是“否”,则将呈现文本区域,然后将提交表单并将其与答案一起发送到服务器。 然后在这两种情况下,在服务器响应后,都会呈现带有错误或成功消息的 div。

我的问题是,如何将按钮“是”和“否”与表单相关联?所以屏幕阅读器和其他辅助技术知道这与带有 textarea 的表单相关吗?使用一些 aria-* 属性

或者我应该以其他方式构建 html?

解决方法

aria-controls 应该在一个 GUI 元素和另一个 GUI 元素之间建立关联(例如,与隐藏/显示内容相关联的隐藏/显示链接)。

Support is quite poor and unpredictable,但严格按照规范,这是正确的。但是,我想知道为什么您不只是将按钮放在表单中,因为其中一个按钮会导致表单提交,而另一个只是显示更多表单。

顺便说一句,考虑使用 <output> 作为服务器响应,因为辅助技术会将其视为活动区域,并自动宣布。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?