HTML aria-label 属性是否允许为空字符串?

Ber*_*rty 7 html specifications screen-readers wai-aria reactjs

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

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

<input
  id={id}
  value={value}
  {...(ariaLabel ? { 'aria-label': ariaLabel } : {})}
/>
Run Code Online (Sandbox Code Playgroud)

Jam*_*ong 4

我在规范中看不到任何关于如果aria-label设置为空字符串会发生什么的内容。我认为您只需将其标记为空,这样就可以了,但我可以想象屏幕阅读器会认为这是一个错误并回退到其他内容。

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