Reglas

Los 37 resúmenes compuestos por Criterio de Éxito de WCAG no aparecen aquí: no son reglas configurables individualmente, pertenecen a Conformidad en su lugar. Consulta cómo se organizan las reglas para ver automáticas frente a manuales, cómo se estructuran los ID de regla y las facetas de WCAG. La columna Preguntas cuenta las preguntas que una regla puede dejar a una persona (cantTell); cada una viene con pasos para responderla en la página de la regla.

Automáticas (86), pueden devolver fail

86 reglas automáticas
ID de reglaTítuloSC de WCAGNivelPreguntasConfianzaGravedad
area-alt-present<area> debe tener un nombre accesible1.1.1A—highserious
aria-allowed-attrLos atributos aria-* deben estar permitidos para el rol del elemento4.1.2A3mediummoderate
aria-allowed-roleEl rol explícito debe estar permitido en el elemento al que se aplica——1highmoderate
aria-braille-equivalentaria-braillelabel y aria-brailleroledescription deben tener un equivalente para tecnologías no braille4.1.2A1highmoderate
aria-conditional-attraria-errormessage requiere que aria-invalid tenga un valor distinto de false4.1.2A1highmoderate
aria-deprecated-roleEl atributo role no debería usar un rol ARIA obsoleto o desaconsejado para autores4.1.2A2highmoderate
aria-hidden-bodyEl <body> del documento no debe tener aria-hidden1.3.1, 4.1.2A—highcritical
aria-hidden-focusLos elementos ocultos con ARIA no deben ser enfocables4.1.2A2highserious
aria-owns-validaria-owns debe dar a cada elemento un solo propietario, y nunca un ancestro del propietario1.3.1A1highserious
aria-prohibited-attrLos atributos de nombrado ARIA no deben usarse en roles que los prohíben4.1.2A3highmoderate
aria-prohibited-childrenLos roles contenedores no deben incluir hijos con roles no permitidos1.3.1A—mediummoderate
aria-required-attrLos elementos con roles que requieren estados o propiedades ARIA deben incluirlos4.1.2A2highserious
aria-required-childrenLos roles contenedores deben incluir al menos un hijo con uno de los roles requeridos1.3.1A1mediummoderate
aria-required-parentLos roles que requieren un rol de contexto específico deben estar en ese contexto1.3.1A—mediummoderate
aria-role-name-presentLos roles ARIA que lo requieren deben tener un nombre accesible4.1.2A2highserious
aria-roles-validEl atributo role debe ser un rol ARIA válido y no abstracto1.3.1, 4.1.2A2highserious
aria-valid-attrLos atributos aria-* deben estar definidos en la especificación ARIA4.1.2A1highserious
aria-valid-attr-valueLos valores de los atributos aria-* deben ajustarse al tipo definido4.1.2A4highserious
autocomplete-validEl atributo autocomplete debe tener un valor válido1.3.5AA—highmoderate
avoid-inline-spacingEl estilo en línea no debe impedir a los usuarios aumentar el espaciado del texto1.4.12AA3highmoderate
binary-control-name-presentLos controles binarios tienen un nombre accesible4.1.2A1highserious
button-name-presentLos botones tienen un nombre accesible4.1.2A3highserious
canvas-text-alternative-present<canvas> debe proporcionar una alternativa textual1.1.1A—highserious
click-handler-keyboard-operableLos manejadores de clic en elementos que no son controles nativos deben funcionar con el teclado2.1.1, 2.1.3AAA5mediumserious
combobox-name-presentLos cuadros combinados deben tener un nombre accesible4.1.2A1highserious
contrast-computableDebe ser posible calcular el contraste del texto renderizado1.4.3, 1.4.6AAA18highserious
contrast-enhancedEl texto cumple el contraste de color mejorado (AAA)1.4.6AAA4highserious
contrast-minimumEl texto cumple el contraste de color mínimo (AA)1.4.3AA9highserious
css-orientation-lockEl CSS no debe bloquear la página a una sola orientación1.3.4AA3highserious
definition-list-children-validLas listas de descripciones deben tener una estructura válida1.3.1A3highserious
deprecated-elements-not-usedEl contenido desplazable de <marquee> debe poder pausarse, detenerse u ocultarse2.2.2A1highserious
dialog-name-presentLos diálogos tienen un nombre accesible4.1.2A2highserious
dlitem-parent-validLos términos y las descripciones deben estar dentro de una lista de descripciones1.3.1A1highserious
duplicate-idLos ID deben ser únicos4.1.1A2highmoderate
duplicate-id-ariaLos ID referenciados por ARIA deben ser únicos4.1.2A1highserious
embed-text-alternative-present<embed> debe proporcionar una alternativa textual1.1.1A—highserious
empty-headingLos encabezados no deben estar vacíos——3highminor
focus-not-removed-by-scriptUn script no debe quitar el foco a un elemento cuando lo recibe2.1.1, 2.4.7AA3mediumserious
form-control-programmatic-label-presentLos controles de formulario deben tener una etiqueta programática1.3.1, 3.3.2, 4.1.2A—mediumserious
form-control-single-labelLos controles de formulario no deberían tener varias etiquetas3.3.2A2highmoderate
html-lang-attr-presentEl idioma de la página está declarado3.1.1A—highserious
html-xml-lang-mismatchlang y xml:lang no deben discrepar3.1.1A—highserious
identical-iframes-same-purposeLos marcos con el mismo nombre deben mostrar el mismo recurso4.1.2A2mediummoderate
iframe-focusable-contentLos marcos con tabindex="-1" no deben contener contenido enfocable2.1.1A1highmoderate
iframe-name-presentLos marcos deben tener un nombre accesible4.1.2A—highserious
iframe-title-uniqueUnicidad del título de los marcos (obsoleta) obsoleta4.1.2A—highmoderate
img-alt-present<img> debe tener un atributo alt1.1.1A—highserious
input-image-alt-present<input type="image"> debe tener un atributo alt1.1.1, 4.1.2A1highserious
invalid-field-error-messageLos campos marcados como no válidos deberían tener un mensaje de error mostrado3.3.1A6highserious
label-in-nameEtiqueta en el nombre: el nombre accesible contiene el texto visible2.5.3A4highserious
landmark-role-name-presentLos roles region y form deben tener un nombre accesible——1highminor
link-in-text-blockLos enlaces dentro de bloques de texto deben distinguirse del texto circundante sin depender únicamente del color1.4.1A16highserious
link-name-presentLos enlaces tienen un nombre accesible2.4.4, 2.4.9, 4.1.2AAA3highserious
list-children-validLas listas solo deben contener elementos de lista como hijos directos1.3.1A2highserious
listbox-name-presentLos cuadros de lista deben tener un nombre accesible4.1.2A1highserious
listitem-parent-validLos elementos de lista deben estar dentro de un contenedor de lista1.3.1A2highserious
menuitem-name-presentLos elementos de menú tienen un nombre accesible4.1.2A3highserious
meta-refresh-no-exceptionsLa página no debe usar un meta refresh temporizado (AAA)2.2.4, 3.2.5AAA—highmoderate
meta-refresh-timing-absentLa página no debe usar un meta refresh temporizado2.2.1, 2.2.4, 3.2.5AAA—highserious
meta-viewport-zoom-enabledLa etiqueta meta viewport no debe desactivar el zoom1.4.4AA1highserious
meter-name-presentLos indicadores con rol meter deben tener un nombre accesible1.1.1A1highserious
nested-interactive-controls-absentLos controles interactivos no deben anidarse4.1.2A1highserious
object-text-alternative-present<object> debe proporcionar una alternativa textual1.1.1A—highserious
option-name-presentLas opciones tienen un nombre accesible4.1.2A3highserious
page-title-presentLa página tiene un título no vacío2.4.2A—highserious
presentational-children-focusable-absentLos roles con hijos presentacionales no deben contener contenido enfocable4.1.2A—highserious
progressbar-name-presentLas barras de progreso tienen un nombre accesible1.1.1A1highserious
role-img-text-alternative-presentLos elementos con rol img, graphics-symbol o graphics-document deben tener una alternativa textual1.1.1A1highserious
searchbox-name-presentLos cuadros de búsqueda tienen un nombre accesible4.1.2A1highserious
server-side-image-map-absentLos mapas de imagen del lado del servidor deben tener una alternativa operable con teclado2.1.1A1highserious
slider-name-presentLos controles deslizantes tienen un nombre accesible4.1.2A1highserious
spinbutton-name-presentLos controles numéricos tienen un nombre accesible4.1.2A1highserious
summary-name-presentLos elementos <summary> tienen un nombre accesible4.1.2A2highserious
svg-image-text-alternative-presentEl <image> de SVG debe tener una alternativa textual1.1.1A—mediumserious
svg-text-alternative-present<svg> debe proporcionar una alternativa textual1.1.1A—highserious
tab-name-presentLas pestañas tienen un nombre accesible4.1.2A3highserious
table-headers-attr-validEl atributo "headers" de una celda de tabla debe referenciar celdas de encabezado válidas1.3.1A—highserious
table-th-has-data-cellsLos elementos <th> deben describir al menos una celda de datos1.3.1A1highmoderate
target-size-minimumLos objetivos de puntero deben medir al menos 24 × 24 px o mantener una separación suficiente2.5.8AA2mediumserious
td-has-headerLas celdas de datos en tablas grandes deben tener un encabezado asociado1.3.1A1highserious
text-spacing-content-lossEl texto sigue siendo legible cuando el usuario aumenta el espaciado del texto1.4.12AA8mediumserious
textbox-name-presentLos cuadros de texto tienen un nombre accesible4.1.2A1highserious
tooltip-name-presentLa información sobre herramientas debe tener un nombre accesible4.1.2A4highserious
treeitem-name-presentLos elementos de árbol tienen un nombre accesible4.1.2A3highserious
valid-langEl atributo lang del elemento debe ser sintácticamente válido3.1.2AA—highmoderate
video-poster-text-alternative-presentLa imagen de portada de video debe tener una alternativa textual1.1.1A1mediumserious

Manuales (59), nunca fail

59 reglas manuales
ID de reglaTítuloSC de WCAGNivelPreguntasConfianzaGravedad
accesskeysLos valores de accesskey deben ser únicos——1mediumminor
area-alt-qualityLa alternativa textual de <area> debe ser adecuada (revisión manual)1.1.1A1mediumminor
aria-checked-state-mismatcharia-checked debería coincidir con el estado real de las casillas y los botones de opción nativos4.1.2A1mediummoderate
aria-expanded-state-mismatcharia-expanded debería coincidir con si el contenido controlado se muestra4.1.2A2mediummoderate
aria-textLos elementos role="text" no deberían tener descendientes enfocables——1mediumminor
bypass-blocks-presentLa página debe ofrecer una forma de omitir bloques repetidos2.4.1A1mediummoderate
canvas-text-alternative-qualityLa alternativa textual de <canvas> debe ser adecuada (revisión manual)1.1.1A1mediumminor
control-name-title-onlyUn botón o un enlace no debería tomar su nombre solo de su title——1mediumminor
css-focus-indicator-suppressedEl indicador de foco no debe eliminarse sin un reemplazo2.4.7AA1mediumserious
css-hidden-focusLos elementos enfocables no deben estar ocultos visualmente2.4.7AA2lowserious
embed-text-alternative-qualityLa alternativa textual de <embed> debe ser adecuada (revisión manual)1.1.1A1mediumminor
empty-table-headerLas celdas de encabezado de tabla no deben estar vacías——2mediumminor
focus-order-semanticsLos elementos añadidos al orden de tabulación deberían tener semántica interactiva——1mediumminor
form-control-label-qualityLas etiquetas de los campos de formulario deberían ser descriptivas y distinguibles2.4.6AA3mediumminor
form-control-programmatic-label-qualityLos controles de formulario deberían tener una etiqueta mostrada en pantalla3.3.2A4mediummoderate
heading-orderLos niveles de encabezado no deben saltarse un nivel——1mediumminor
heading-qualityEl texto del encabezado debería ser descriptivo, no un marcador de posición2.4.6AA3mediumminor
identical-links-same-purposeLos enlaces con el mismo nombre accesible deberían llevar al mismo destino2.4.9AAA1lowminor
image-of-textEl texto debería ser texto real, no una imagen de texto1.4.5AA2lowmoderate
image-redundant-altEl texto alternativo de la imagen no debe duplicar el texto visible adyacente——1mediumminor
img-alt-decorativeLos elementos <img>/<canvas>/<svg> excluidos deben ser decorativos (revisión manual)1.1.1A2mediumminor
img-alt-qualityEl texto alternativo de <img> debe ser apropiado (revisión manual)1.1.1A2mediumminor
input-image-alt-decorative<input type="image"> con alt="" debe ser apropiado (revisión manual)1.1.1A1mediumminor
input-image-alt-qualityLa alternativa textual de <input type="image"> debe ser adecuada (revisión manual)1.1.1A1mediumminor
label-for-validEl atributo for de un label debería nombrar un control que pueda etiquetar——2mediumminor
label-title-onlyEtiquetas de formulario solo con title (obsoleta) obsoleta———mediumminor
landmark-banner-is-top-levelLa región de referencia banner debe estar en el nivel superior——1mediumminor
landmark-complementary-is-top-levelLa región de referencia complementary debe estar en el nivel superior——1mediumminor
landmark-contentinfo-is-top-levelLa región de referencia contentinfo debe estar en el nivel superior——1mediumminor
landmark-main-is-top-levelLa región de referencia main debe estar en el nivel superior——1mediumminor
landmark-no-duplicate-bannerLa página no debe tener más de una región de referencia banner——1mediumminor
landmark-no-duplicate-contentinfoLa página no debe tener más de una región de referencia contentinfo——1mediumminor
landmark-no-duplicate-mainLa página no debe tener más de una región de referencia main——1mediumminor
landmark-one-mainLa página debería tener una región de referencia main——1mediumminor
landmark-uniqueLas regiones de referencia con el mismo rol deben tener nombres únicos——1mediumminor
link-name-qualityEl texto del enlace debería ser descriptivo, no genérico2.4.4, 2.4.9AAA2mediumminor
live-region-announcementsLas regiones activas deberían poder anunciar mensajes de estado4.1.3AA4mediummoderate
manual-reviewRevisión manual: navegación por teclado y orden de foco2.1.1, 2.4.3, 2.4.7AA1mediummoderate
media-alternative-transcript-evidenceMedios basados en tiempo: evidencia de transcripción o alternativa textual1.2.1A2lowmoderate
meta-viewport-largeLa etiqueta meta viewport debería permitir el zoom hasta el 500%——1mediumminor
mouse-only-event-handlersLos manejadores de eventos exclusivos de puntero deberían tener un equivalente accesible por teclado2.1.1, 2.1.3AAA2lowmoderate
moving-content-pausableEl contenido que se mueve por sí solo debería poder pausarse, detenerse u ocultarse2.2.2A2lowmoderate
no-autoplay-audioEl audio con reproducción automática debería ofrecer un mecanismo de pausa, detención o control de volumen1.4.2A3lowmoderate
object-text-alternative-qualityEl texto alternativo de <object> debe ser apropiado (revisión manual)1.1.1A1mediumminor
p-as-headingEl texto con estilo de encabezado probablemente debería ser un encabezado real1.3.1A4lowminor
page-has-heading-oneLa página debería tener un encabezado de nivel uno——1mediumminor
page-title-patternsPatrones de título de página que pueden ser insuficientemente descriptivos2.4.2A6mediumminor
password-paste-enabledLos campos de autenticación no deben bloquear el pegado3.3.8AA2mediumserious
presentation-role-conflictUn rol presentacional no debe entrar en conflicto con un atributo ARIA global ni con la enfocabilidad——1mediumminor
regionEl contenido de la página debería estar dentro de regiones de referencia——1mediumminor
scope-attr-validEl atributo scope debe tener un valor válido——1mediumminor
scrollable-region-focusableLas regiones desplazables sin contenido enfocable deberían ser enfocables por teclado2.1.1, 2.1.3AAA1lowmoderate
skip-linkEl enlace de salto debe tener un destino resoluble y utilizable——2mediumminor
svg-text-alternative-qualityLa alternativa textual de <svg> debe ser adecuada (revisión manual)1.1.1A2mediumminor
tabindextabindex no debería ser mayor que 0——1mediumminor
table-duplicate-nameEl título de la tabla no debe duplicar su atributo summary——1mediumminor
table-fake-captionLa primera fila de una tabla no debería sustituir a un <caption> real1.3.1A1lowminor
video-captionEl vídeo pregrabado debería proporcionar subtítulos para sordos completos1.2.2A3lowmoderate
widget-keyboard-focusableLos widgets deberían ser alcanzables con el teclado2.1.1A4mediumserious