Cómo se organizan las reglas

Esto describe cómo están estructuradas las 132 reglas del catálogo, útil para interpretar un resultado o para encontrar la regla que buscas. Refleja lo que ya existe en el conjunto de reglas, no un diseño abstracto.

Automáticas frente a manuales

Cada regla tiene uno de dos valores en la propiedad type, y la diferencia está en lo que la regla es capaz de decidir, no en qué resultado informa:

  • automática: decide de forma determinista, sin heurísticas y sin adivinar. Puede informar fail. cantTell igual aparece aquí, en tres situaciones: existe una violación real pero por sí sola no establece que el criterio de WCAG asignado falle (un requisito de autoría de ARIA cuyo nombre/rol/valor expuesto sigue siendo válido); la regla decide de forma determinista pero no reclama ningún Criterio de Éxito en absoluto (aria-allowed-role, etiquetada como buena práctica); o la regla solo puede confirmar que un mecanismo está presente, mientras que si lo que está presente es realmente válido le corresponde a una regla hermana (aria-required-children, emparejada con aria-prohibited-children).
  • manual: indica que una persona tiene que decidir; la regla no puede resolver la cuestión a partir del marcado en absoluto. Limitada a cantTell/notApplicable, nunca fail.

Que una regla manual informe cantTell no es el mismo evento que una regla automática informe cantTell, aunque el valor sea idéntico: la regla automática ya decidió y te está diciendo lo que encontró; la regla manual te está diciendo que la cuestión no es decidible a partir del marcado en absoluto. Consulta Resultados e informes para ver la referencia completa de resultado/gravedad/confianza.

Cómo están estructurados los ID de regla

Un ID de regla generalmente es <family>-<intent>: qué elementos/mecanismo apunta la regla, y luego qué pregunta hace sobre ellos. La familia de alternativas de imagen (WCAG 1.1.1) es el ejemplo más claro:

ID de reglaFamiliaIntenciónTipo
img-alt-presentimgpresentautomática
img-alt-qualityimgqualitymanual
img-alt-decorativeimgdecorativemanual
  • present: verifica que exista un mecanismo requerido. Normalmente automática.
  • quality: verifica idoneidad, corrección o significado. Siempre manual.
  • decorative: verifica el tratamiento correcto de contenido puramente decorativo. Siempre manual.

La intención determina si una regla puede ser automática: "¿algo está presente?" suele ser decidible solo a partir del marcado, mientras que "¿es bueno?" casi nunca lo es. Esta es también la lógica detrás de los enlaces de Reglas relacionadas en cada página de regla: las reglas que comparten una familia (todo lo anterior al último segmento - del ID) son las que se agrupan ahí. El conjunto de reglas abarca docenas de familias además de img: aria-*, contrast-*, dialog-*, iframe-*, label-*, link-*, list-*, landmark-*, y más; el catálogo es la lista actual y generada.

Las reglas nunca mezclan familias: cada una consulta un tipo de elemento, usando las funciones auxiliares apropiadas para él. Por eso también el conjunto de reglas tiene 132 reglas específicas en lugar de una docena de reglas amplias: dos comprobaciones que difieren en lo que deciden, a qué apuntan o qué faceta de WCAG cubren se mantienen como reglas separadas en lugar de fusionarse, de modo que un resultado nunca tiene que desambiguarse posteriormente para decir qué se encontró exactamente.

Facetas de WCAG

Un Criterio de Éxito de WCAG suele ser más grande de lo que una sola regla puede decidir de forma determinista. Internamente, cada SC se descompone en "facetas" con nombre: para 1.1.1 Contenido no textual, eso incluye cosas como si un atributo alt está presente, si su texto es significativo, y si las imágenes decorativas están correctamente marcadas como nulas. Una regla se asigna a una o más facetas, y varias reglas comúnmente cubren distintas facetas del mismo SC, que es exactamente lo que hace arriba la familia img-alt para 1.1.1.

Esto importa al leer un resultado compuesto (resultado agregado por WCAG-SC): un resultado agregado con estado pass significa que ninguna comprobación automatizada de ese criterio detectó fallos, pero si una faceta no tiene ninguna cobertura automatizada, el compuesto guarda silencio sobre esa faceta en lugar de afirmar que está bien. Consulta Conformidad para ver las tres capas (reglas atómicas, facetas, compuestos) y cómo se calcula realmente el resultado de un compuesto.