首页 > 解决方案 > HTML aria-label 属性是否允许为空字符串?

问题描述

屏幕阅读器是否会忽略空字符串,或者如果字符串为空,我应该避免将它们添加到元素中吗?

作为参考,这是反应中的一个用例,您希望默认为空字符串以避免检查未定义:

<input
  id={id}
  value={value}
  {...(ariaLabel ? { 'aria-label': ariaLabel } : {})}
/>

标签: htmlreactjsspecificationswai-ariascreen-readers

解决方案


aria-label如果设置为空字符串,我在规范中看不到任何关于应该发生的情况。我认为您只是将其标记为什么都没有,因此会很好,但是我可以想象屏幕阅读器会假设这是一个错误并退回到其他内容。

aria-label如果它有时可能是空的,我认为你使用错误。aria-label只是<label>元素的替代品。它应该命名输入元素。不应该出现名称更改或可以为空白的情况。


推荐阅读