React JSX 无效的 ARIA 属性 `ariaLabel`

Nic*_*one 17 accessibility jsx wai-aria reactjs

反应jsx:

<button ariaLabel='label'>click</button>
Run Code Online (Sandbox Code Playgroud)

呈现的html:

<button arialabel="label">click</button>
Run Code Online (Sandbox Code Playgroud)

控制台警告:

index.js:1 Warning: Invalid ARIA attribute `ariaLabel`. Did you mean `aria-label`?
Run Code Online (Sandbox Code Playgroud)

嗯,不,我的意思是 ariaLabel,因为我们总是在 jsx 中使用驼峰命名法。为什么渲染的 html 中全部是小写?

小智 21

这似乎是该规则的一个例外。请查看此处的文档 -官方 React 文档

请注意,JSX 完全支持所有 aria-* HTML 属性。尽管 React 中的大多数 DOM 属性和属性都是驼峰命名法,但这些属性应该是连字符命名法(也称为 kebab-case、lisp-case 等),因为它们是纯 HTML 格式:

  • 我希望这些文档能够解释_为什么_这是一个例外。有人知道吗? (22认同)