Com crear una barra de progrés accessible amb React

Com crear una barra de progrés accessible amb React

Les barres de progrés són excel·lents per a la implicació dels usuaris perquè proporcionen un objectiu a assolir. En lloc de mirar una pàgina web esperant un recurs, veureu que s'omple una barra de progrés. Les barres de progrés no s'han de limitar només als usuaris vidents. Tothom hauria de poder entendre la vostra barra de progrés amb facilitat.





Llavors, com es crea una barra de progrés accessible amb React?





podeu veure qui visualitza el vostre enllaç
MAKEUSEO VÍDEO DEL DIA

Creeu un component de la barra de progrés

Creeu un component nou anomenat ProgressBar.js i afegiu el codi següent:





const ProgressBar = ({progress}) => { 
return (
<div>
<div role="progressbar"
aria-valuenow={progress}
aria-valuemin={0}
aria-valuemax={100}>
<span>{`${progress}%`}</span>
</div>
</div>
);
};

export default ProgressBar;

El primer element div és el contenidor i el segon div és la barra de progrés real. L'element span conté el percentatge de la barra de progrés.

A efectes d'accessibilitat, la segona div té els atributs següents:



  • Un paper de barra de progrés.
  • aria-valuenow per indicar el valor actual de la barra de progrés.
  • aria-valuemin per indicar el valor mínim de la barra de progrés.
  • aria-valuemax per indicar el valor màxim de la barra de progrés.

Els atributs aria-valuemin i aria-valuemax no són necessaris si els valors màxim i mínim de la barra de progrés són 0 i 100, ja que l'HTML té aquests valors per defecte.

Estil la barra de progrés

Podeu estilitzar la barra de progrés mitjançant estils en línia o a Biblioteca CSS-in-JS com els components d'estil . Tots dos enfocaments proporcionen una manera senzilla de passar accessoris del component al CSS.





compra roba barata en línia enviament gratuït a tot el món

Necessiteu aquesta funcionalitat perquè l'amplada de la barra de progrés depèn del valor de progrés passat com a accessoris.

Podeu utilitzar aquests estils en línia:





const container = { 
height: 20,
width: "100%",
backgroundColor: "#fff",
borderRadius: 50,
margin: 50
}

const bar = {
height: "100%",
width: `${progress}%`,
backgroundColor: "#90CAF9",
borderRadius: "inherit",
}

const label = {
padding: "1rem",
color: "#000000",
}

Modifiqueu la part de retorn del component per incloure estils com es mostra a continuació:

es pot jugar a jocs ps4 a ps3
<div style={container}> 
<div style={bar} role="progressbar"
aria-valuenow={progress}
aria-valuemin={0}
aria-valuemax={100}>
<span style={label} >{`${progress}%`}</span>
</div>
</div>

Mostra la barra de progrés així:

<ProgressBar progress={50}/> 

Això mostra una barra de progrés amb un 50 per cent completat.

Components de construcció a React

Ara podeu crear una barra de progrés accessible amb percentatges que podeu reutilitzar en qualsevol part de la vostra aplicació. Amb React, podeu crear components independents d'interfície d'usuari com aquests i utilitzar-los com a blocs de construcció d'una aplicació complexa.