You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/docs/accessibility.md
+35-35Lines changed: 35 additions & 35 deletions
Original file line number
Diff line number
Diff line change
@@ -4,13 +4,13 @@ title: Accesibilidad
4
4
permalink: docs/accessibility.html
5
5
---
6
6
7
-
## ¿Por qué Accesibilidad?
7
+
## ¿Por qué Accesibilidad? {#why-accessibility}
8
8
9
-
La accesibilidad web (también conocida como [**a11y**](https://en.wiktionary.org/wiki/a11y)) es el diseño y la creación de sitios web que pueden ser utilizados por todos. El soporte de accesibilidad es necesario para permitir que la tecnología de asistencia interprete las páginas web.
9
+
La accesibilidad web (también conocida como [**a11y**](https://en.wiktionary.org/wiki/a11y)) es el diseño y la creación de sitios web que pueden ser utilizados por todos. El soporte de accesibilidad es necesario para permitir que la tecnología de asistencia interprete las páginas web.
10
10
11
11
React es totalmente compatible con la creación de sitios web accesibles, a menudo mediante el uso de técnicas estándar de HTML.
12
12
13
-
## Normas y lineamientos
13
+
## Normas y lineamientos {#standards-and-guidelines}
14
14
15
15
### WCAG {#wcag}
16
16
@@ -26,7 +26,7 @@ Las siguientes listas de verificación WCAG proporcionan una visión general:
26
26
27
27
El documento [Iniciativa de Accesibilidad Web - Aplicaciones de Internet Enriquecidas y Accesibles (WAI-ARIA por sus siglas en inglés)](https://www.w3.org/WAI/intro/aria) contiene técnicas para construir widgets de JavaScript totalmente accesibles.
28
28
29
-
Tenga en cuenta que todos los atributos HTML `aria- *` son totalmente compatibles con JSX. Mientras que la mayoría de las propiedades y atributos de DOM en React son camelCase, estos atributos deben tener un guión (también conocido como kebab-case, lisp-case, etc.) ya que están en HTML simple:
29
+
Ten en cuenta que todos los atributos HTML `aria- *` son totalmente compatibles con JSX. Mientras que la mayoría de las propiedades y atributos de DOM en React son camelCase, estos atributos deben tener un guión (también conocido como kebab-case, lisp-case, etc.) ya que están en HTML simple:
30
30
31
31
```javascript{3,4}
32
32
<input
@@ -39,7 +39,7 @@ Tenga en cuenta que todos los atributos HTML `aria- *` son totalmente compatible
39
39
/>
40
40
```
41
41
42
-
## HTML semnántico
42
+
## HTML semántico {#semantic-html}
43
43
44
44
El HTML semántico es la base de la accesibilidad en una aplicación web. Haciendo uso de los diversos elementos HTML para reforzar el significado de la información en nuestros sitios web a menudo nos dará accesibilidad de forma gratuita.
45
45
@@ -106,9 +106,9 @@ function ListItem({ item }) {
106
106
107
107
Para más información, consulta [la documentación de Fragmentos](/docs/fragments.html).
108
108
109
-
## Formularios accesibles
109
+
## Formularios accesibles {#accessible-forms}
110
110
111
-
### Etiquetado
111
+
### Etiquetado {#labeling}
112
112
113
113
Todos los controles de formulario HTML, como `<input>` y `<textarea>`, deben ser etiquetados de forma accesible. Necesitamos proporcionar etiquetas descriptivas que también estén expuestas a los lectores de pantalla.
114
114
@@ -125,28 +125,28 @@ Aunque estas prácticas estándar de HTML se pueden usar directamente en React,
125
125
<input id="namedInput" type="text" name="name"/>
126
126
```
127
127
128
-
### Notificando errores al usuario
128
+
### Notificando errores al usuario {#notifying-the-user-of-errors}
129
129
130
130
Las situaciones de error deben ser entendidas por todos los usuarios. El siguiente enlace también nos muestra cómo exponer textos de error a lectores de pantalla:
131
131
132
132
-[El W3C demuestra notificaciones de usuario](https://www.w3.org/WAI/tutorials/forms/notifications/)
133
133
-[WebAIM analiza la validación de formularios](http://webaim.org/techniques/formvalidation/)
134
134
135
-
## Control de foco
135
+
## Control de foco {#focus-control}
136
136
137
137
Asegúrese de que su aplicación web pueda ser operada completamente solo con el teclado:
138
138
139
139
-[WebAIM habla sobre accesibilidad de teclado](http://webaim.org/techniques/keyboard/)
140
140
141
-
### Foco de teclado y contorno de foco
141
+
### Foco de teclado y contorno de foco {#keyboard-focus-and-focus-outline}
142
142
143
143
El foco del teclado se refiere al elemento actual en el DOM que está seleccionado para aceptar la entrada desde el teclado. Lo vemos en todas partes como un contorno de foco similar al que se muestra en la siguiente imagen:
144
144
145
145
<imgsrc="../images/docs/keyboard-focus.png"alt="Blue keyboard focus outline around a selected link." />
146
146
147
147
Solamente use CSS que elimine este contorno, por ejemplo, configurando `outline: 0`, si lo va a reemplazar por otra implementación de contorno de foco.
148
148
149
-
### Mecanismos para omitir hacia el contenido deseado.
149
+
### Mecanismos para omitir hacia el contenido deseado. {#mechanisms-to-skip-to-desired-content}
150
150
151
151
Proporcione un mecanismo para permitir que los usuarios omitan las secciones de navegación en su aplicación, ya que esto ayuda y acelera la navegación con el teclado.
152
152
@@ -160,7 +160,7 @@ Lea más sobre el uso de estos elementos para mejorar la accesibilidad aquí:
160
160
161
161
-[Puntos de referencia accesibles](http://www.scottohara.me/blog/2018/03/03/landmarks.html)
162
162
163
-
### Gestionando programáticamente el foco.
163
+
### Gestionando programáticamente el foco. {#programmatically-managing-focus}
164
164
165
165
Nuestras aplicaciones React modifican continuamente el DOM de HTML durante el tiempo de ejecución, lo que a veces hace que el foco del teclado se pierda o se establezca en un elemento inesperado. Para reparar esto, tenemos que empujar programáticamente el foco del teclado en la dirección correcta. Por ejemplo, al restablecer el foco del teclado a un botón que abrió una ventana modal después de que se cierre esa ventana modal.
166
166
@@ -238,7 +238,7 @@ Un gran ejemplo de gestión de foco es el [react-aria-modal](https://github.com/
238
238
>Si bien esta es una característica de accesibilidad muy importante, también es una técnica que debe usarse con prudencia. Úsalo para reparar el flujo de foco del teclado cuando está perturbado, no para intentar anticipar cómo
239
239
>los usuarios desean usar las aplicaciones.
240
240
241
-
## Eventos de ratón y puntero
241
+
## Eventos de ratón y puntero {#mouse-and-pointer-events}
242
242
243
243
Asegúrate que también se puede acceder a todas las funciones expuestas a través de un mouse o evento de puntero utilizando solo el teclado. Dependiendo solo del dispositivo puntero llevará a muchos casos donde Los usuarios de teclado no pueden usar tu aplicación.
244
244
@@ -369,7 +369,7 @@ Este código expone la funcionalidad a los usuarios del dispositivo puntero y de
369
369
370
370
Este es un ejemplo de muchos casos en los que, dependiendo de solo el puntero y el mouse, los eventos interrumpirán la funcionalidad para los usuarios de teclado. Probando siempre con el teclado resaltará de inmediato las áreas problemáticas que luego se pueden solucionar mediante el uso de controladores de eventos compatibles con el teclado.
371
371
372
-
## Widgets más complejos
372
+
## Widgets más complejos {#more-complex-widgets}
373
373
374
374
Una experiencia de usuario más compleja no debe significar que sea menos accesible. Mientras que la accesibilidad se logra más fácilmente mediante la codificación lo más cerca posible de HTML, incluso el widget más complejo se puede codificar de manera accesible.
375
375
@@ -382,23 +382,23 @@ Cada tipo de widget tiene un patrón de diseño específico y se espera que func
## Otros puntos a considerar {#other-points-for-consideration}
386
386
387
-
### Configurando el idioma
387
+
### Configurando el idioma {#setting-the-language}
388
388
389
389
Indique el idioma humano de los textos de la página, ya que el software del lector de pantalla lo utiliza para seleccionar la configuración de voz correcta:
390
390
391
391
-[WebAIM - Documento de lenguaje](http://webaim.org/techniques/screenreader/#language)
392
392
393
-
### Configuración del título del documento
393
+
### Configuración del título del documento {#setting-the-document-title}
394
394
395
395
Configure el `<title>` del documento para que describa correctamente el contenido de la página actual, ya que esto garantiza que el usuario esté al tanto del contexto de la página actual:
396
396
397
397
-[WCAG - Comprendiendo el requisito del título del documento](https://www.w3.org/TR/UNDERSTANDING-WCAG20/navigation-mechanisms-title.html)
398
398
399
399
Podemos configurar esto en React usando el [Componente Título del Documento de React](https://github.com/gaearon/react-document-title).
400
400
401
-
### Contraste de color
401
+
### Contraste de color {#color-contrast}
402
402
403
403
Asegúrese de que todo el texto legible en su sitio web tenga el contraste de color suficiente para que los usuarios con poca visión puedan leerlo al máximo:
404
404
@@ -415,11 +415,11 @@ Si desea ampliar sus habilidades de prueba de contraste, puede utilizar estas he
415
415
-[WebAIM - Comprobador de contraste de color](http://webaim.org/resources/contrastchecker/)
416
416
-[El Grupo Paciello - Color Contrast Analyzer](https://www.paciellogroup.com/resources/contrastanalyser/)
417
417
418
-
## Herramientas de desarrollo y pruebas
418
+
## Herramientas de desarrollo y pruebas {#development-and-testing-tools}
419
419
420
420
Hay una serie de herramientas que podemos utilizar para ayudar en la creación de aplicaciones web accesibles.
421
421
422
-
### El teclado
422
+
### El teclado {#the-keyboard}
423
423
424
424
La comprobación más fácil y también una de las más importantes es, por mucho, comprobar si se puede acceder a todo el sitio web y usarlo solo con el teclado. Hágalo de la siguiente forma:
425
425
@@ -428,11 +428,11 @@ La comprobación más fácil y también una de las más importantes es, por much
428
428
1. Usando `Enter` para activar elementos.
429
429
1. Cuando sea necesario, utilice las teclas de flecha del teclado para interactuar con algunos elementos, como menús y menús desplegables.
430
430
431
-
### Asistencia para el desarrollo
431
+
### Asistencia para el desarrollo {#development-assistance}
432
432
433
-
Podemos verificar algunas funciones de accesibilidad directamente en nuestro código JSX. A menudo, las comprobaciones de intellisense para roles, estados y propiedades ARIA ya son proporcinadas en IDE's preparados para JSX. También tenemos acceso a la siguiente herramienta:
433
+
Podemos verificar algunas funciones de accesibilidad directamente en nuestro código JSX. A menudo, las comprobaciones de intellisense para roles, estados y propiedades ARIA ya son proporcionadas en IDE's preparados para JSX. También tenemos acceso a la siguiente herramienta:
El complemento [eslint-plugin-jsx-a11y] (https://github.com/evcohen/eslint-plugin-jsx-a11y) para ESLint proporciona linting de AST sobre los problemas de accesibilidad en tu JSX. Muchos IDE's te permiten integrar estos hallazgos directamente en el análisis de código y las ventanas de código fuente.
438
438
@@ -445,23 +445,23 @@ El complemento [eslint-plugin-jsx-a11y] (https://github.com/evcohen/eslint-plugi
445
445
}
446
446
```
447
447
448
-
### Probando accesibilidad en el navegador.
448
+
### Probando accesibilidad en el navegador. {#testing-accessibility-in-the-browser}
449
449
450
450
Existen varias herramientas que pueden ejecutar auditorías de accesibilidad en las páginas web de su navegador. Utilízalas en combinación con otras comprobaciones de accesibilidad que se mencionan aquí, ya que solo pueden probar la accesibilidad técnica de su HTML.
451
451
452
-
#### aXe, aXe-core y react-axe
452
+
#### aXe, aXe-core y react-axe {#axe-axe-core-and-react-axe}
453
453
454
454
Deque Systems offers [aXe-core](https://github.com/dequelabs/axe-core) for automated and end-to-end accessibility tests of your applications. This module includes integrations for Selenium.
455
455
456
456
[El Motor de Accesibilidad](https://www.deque.com/products/axe/) o aXe (por sus siglas en inglés), es una extensión inspectora de accesibilidad del navegador construida sobre `aXe-core`.
457
457
458
458
También puede usar el módulo [react-axe](https://github.com/dylanb/react-axe) para informar estos hallazgos de accesibilidad directamente a la consola mientras desarrolla y depura.
459
459
460
-
#### WebAIM WAVE
460
+
#### WebAIM WAVE {#webaim-wave}
461
461
462
462
La [Herramienta de evaluación de accesibilidad web](http://wave.webaim.org/extension/) (WAVE por sus siglas en inglés) es otra extensión de accesibilidad del navegador.
463
463
464
-
#### Inspectores de accesibilidad y el Árbol de Accesibilidad
464
+
#### Inspectores de accesibilidad y el Árbol de Accesibilidad {#accessibility-inspectors-and-the-accessibility-tree}
465
465
466
466
[El Árbol de Accesibilidad](https://www.paciellogroup.com/blog/2015/01/the-browser-accessibility-tree/) es un subconjunto del árbol DOM que contiene objetos accesibles para cada elemento del DOM que debería ser expuesto a la tecnología de asistencia, como los lectores de pantalla.
467
467
@@ -471,15 +471,15 @@ En algunos navegadores podemos ver fácilmente la información de accesibilidad
471
471
-[Activar el inspector de accesibilidad en Chrome](https://gist.github.com/marcysutton/0a42f815878c159517a55e6652e3b23a)
472
472
-[Usando el inspector de accesibilidad en OS X Safari](https://developer.apple.com/library/content/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXTestingApps.html)
473
473
474
-
### Lectores de pantalla
474
+
### Lectores de pantalla {#screen-readers}
475
475
476
476
Las pruebas con un lector de pantalla deben formar parte de sus pruebas de accesibilidad.
477
477
478
-
Tenga en cuenta que las combinaciones de navegador / lector de pantalla son importantes. Se recomienda que pruebe su aplicación en el navegador que mejor se adapte a su lector de pantalla.
478
+
Ten en cuenta que las combinaciones de navegador / lector de pantalla son importantes. Se recomienda que pruebe su aplicación en el navegador que mejor se adapte a su lector de pantalla.
479
479
480
-
### Lectores de pantalla de uso común
480
+
### Lectores de pantalla de uso común {#commonly-used-screen-readers}
481
481
482
-
#### NVDA en Firefox
482
+
#### NVDA en Firefox {#nvda-in-firefox}
483
483
484
484
[Acceso a Escritorio No Visual](https://www.nvaccess.org/) o NVDA por sus siglas en inglés, es un lector de pantalla de Windows de código abierto que es ampliamente usado.
485
485
@@ -488,7 +488,7 @@ Consulte las siguientes guías sobre cómo utilizar mejor NVDA:
488
488
-[WebAIM - Usando NVDA para evaluar la accesibilidad web](http://webaim.org/articles/nvda/)
489
489
-[Deque - Atajos de teclado NVDA](https://dequeuniversity.com/screenreaders/nvda-keyboard-shortcuts)
490
490
491
-
#### VoiceOver en Safari
491
+
#### VoiceOver en Safari {#voiceover-in-safari}
492
492
493
493
VoiceOver es un lector de pantalla integrado en dispositivos Apple.
494
494
@@ -498,7 +498,7 @@ Consulte las siguientes guías sobre cómo activar y usar VoiceOver:
498
498
-[Deque - VoiceOver para los atajos de teclado de OS X](https://dequeuniversity.com/screenreaders/voiceover-keyboard-shortcuts)
499
499
-[Deque - VoiceOver para accesos directos de iOS](https://dequeuniversity.com/screenreaders/voiceover-ios-shortcuts)
500
500
501
-
#### JAWS en Internet Explorer
501
+
#### JAWS en Internet Explorer {#jaws-in-internet-explorer}
502
502
503
503
[Acceso al Trabajo con el Habla](http://www.freedomscientific.com/Products/Blindness/JAWS) o JAWS por sus siglas en inglés, es un lector de pantalla de uso prolífico en Windows.
504
504
@@ -507,9 +507,9 @@ Consulte las siguientes guías sobre cómo utilizar mejor JAWS:
507
507
-[WebAIM - Uso de JAWS para evaluar la accesibilidad web](http://webaim.org/articles/jaws/)
508
508
-[Deque - Atajos de teclado de JAWS](https://dequeuniversity.com/screenreaders/jaws-keyboard-shortcuts)
509
509
510
-
### Otros lectores de pantalla
510
+
### Otros lectores de pantalla {#other-screen-readers}
511
511
512
-
#### ChromeVox en Google Chrome
512
+
#### ChromeVox en Google Chrome {#chromevox-in-google-chrome}
513
513
514
514
[ChromeVox](http://www.chromevox.com/) es un lector de pantalla integrado en Chromebooks y está disponible [como una extensión](https://chrome.google.com/webstore/detail/chromevox/kgejglhpjiefppelpmljglcjbhoiplfn?hl=es) para Google Chrome.
0 commit comments