一、Accessibility
1. Why Accessibility
- Web Accessibility(网络无障碍辅助)用于创建每个人都能使用的网站的设计
- Accessibility 的支持是辅助技术正确解读网页的必要条件
- React 完全支持构建 accessible 网站,通过使用标准的 HTML 技术
2. 标准和指南
<input
type="text"
aria-label={labelText}
aria-required="true"
onChange={onchangeHandler}
value={inputValue}
name="name"
/>
3. 语义化的 HTML
import React, { Fragment } from 'react';
function ListItem({ item }) {
return (
<Fragment>
<dt>{item.term}</dt>
<dd>{item.description}</dd>
</Fragment>
);
}
function Glossary(props) {
return (
<dl>
{props.items.map(item => (
<ListItem item={item} key={item.id} />
))}
</dl>
);
}
function Glossary(props) {
return (
<dl>
{props.items.map(item => (
// Fragments should also have a `key` prop when mapping collections
<Fragment key={item.id}>
<dt>{item.term}</dt>
<dd>{item.description}</dd>
</Fragment>
))}
</dl>
);
}
function ListItem({ item }) {
return (
<>
<dt>{item.term}</dt>
<dd>{item.description}</dd>
</>
);
}
4. Accessible 表单
<label htmlFor="namedInput">Name:</label>
<input id="namedInput" type="text" name="name"/>