我正在使用一个网站,要求用户上传项目以进行验证。我想让这个上传的输出可以访问,但我不清楚当div表示用户输入时(而不是仅对有效输入有效)在aria-invalid
上设置div
是否可以接受输入元素)。
答案 0 :(得分:1)
是的,如果已经或将要检查该元素的值是否正确,则对包含用户输入的元素使用aria-invalid
是正确的。然后,应根据检查结果设置属性值(如ARIA spec中所定义),如果测试失败,则为aria-invalid=true
。
此属性的使用不仅限于表单字段。实际上,在它们中,至少在原则上通常不需要执行HTML5检查,因为辅助软件可以访问其结果(尽管这不一定会发生),而使用客户端JavaScript执行的检查仅对其不可见。辅助软件,除非您用ARIA属性发出结果信号。
典型情况是div
元素具有contenteditable=true
属性,并且它充当高级用户输入区域,并对其内容进行一些检查。
如果div
元素只是回显用户输入(例如,用户输入是通过普通表单获取的,而服务器端表单处理程序已经检查过它并发送回包含错误消息和一些用户输入的副本),然后它有点争议。似乎这是一种不打算使用ARIA属性的情况。相反,错误消息应清楚地指出错误并将它们与用户输入相关联。那么就不需要aria-invalid
- 除非div
元素是用户可编辑的,因此也可以作为输入区域。