加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

101-advanced-React易用性,概述

发布时间:2020-12-15 20:28:12 所属栏目:百科 来源:网络整理
导读:React完全支持构建可访问的网站,通常使用标准的HTML技术。 1、可访问小部件 ARIA文档包含用于构建完全可访问的JavaScript小部件的技术。 JSX完全支持所有aria- * HTML属性。尽管React中的大多数DOM属性和属性都是camelCased的,但这些属性应该是小写的: in

  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"/>

?

  

?

?

?

?

?

?

?

?

?

?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读