101-advanced-React易用性,概述
React 概述 101 Advanced
2023-09-14 09:08:47 时间
React完全支持构建可访问的网站,通常使用标准的HTML技术。
1、可访问小部件
ARIA文档包含用于构建完全可访问的JavaScript小部件的技术。
JSX完全支持所有aria- * HTML属性。尽管React中的大多数DOM属性和属性都是camelCased的,但这些属性应该是小写的:
<input type="text" aria-label={labelText} aria-required="true" onChange={onchangeHandler} value={inputValue} name="name" />
2、html语义
语义HTML是Web应用程序可访问性的基础。使用各种HTML元素来加强我们网站中信息的含义通常会使我们免费获得可访问性。
有时我们在向我们的JSX添加<div>元素以使我们的React代码正常工作时,特别是在处理列表(<ol>,<ul>和<dl>)和HTML <table>时,会破坏HTML语义。在这些情况下,我们应该使用React Fragments将多个元素组合在一起。
当使用一个key prop 时可以使用<Fragment>
import React, { Fragment } from 'react'; function Glossary(props) { return ( <dl> {props.items.map(item => ( // Without the `key`, React will fire a key warning <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> </> ); }
3、label for
<label htmlFor="namedInput">Name:</label> <input id="namedInput" type="text" name="name"/>
的
相关文章
- React-Navigation Integration with Redux
- React Hooks教程之基础篇
- 面试官让你说说react状态管理?
- react的jsx和React.createElement是什么关系?面试常问
- 深度剖析React懒加载原理
- react的jsx和React.createElement是什么关系?面试常问_2023-02-27
- react子父组件相互通信传值系列之——父组件传值与函数给子组
- 老生常谈React的diff算法原理-面试版_2023-03-01
- React源码学习进阶(四)render流程的入口逻辑详解
- react项目登录验证功能
- react源码分析:深度理解React.Context
- React 实现一个markdown[1]
- 面试官:说说react的渲染过程_2023-02-21
- react 基础之组件篇二——Style in React
- 在React项目中引入echarts球形水波纹
- Swift开发React Native组件详解手机开发