Saltar al contenido principal

Catálogo · Documentación

Qué hacer y qué no

Un ejemplo que seguir y otro que evitar, cada uno con su motivo, colocados uno al lado del otro cuando hay espacio.

Encaja mejor en: documentación — una página que enseña mostrando qué hacer y qué evitar

Esta traducción la ha escrito una IA y todavía no la ha revisado ninguna persona. Leer esta página en inglés

Ejemplo

Un ejemplo de qué hacer y qué no con el título de una página.

Do Title a page for what it lets the reader do.
Don't Use a title that fits any page: "Introduction" tells the reader nothing.

A Do and a Don't.

The word, the mark before it and the frame (solid or dashed) say which is which, so the colour is never the only cue. The two stack on a narrow screen.

Problemas conocidos

En los navegadores sin texto alternativo para el contenido generado (Safari anterior a 17.4, Firefox anterior a 128), un lector de pantalla puede leer la marca de verificación o la cruz antes de «Hazlo» o «No lo hagas». La palabra siguiente siempre se lee.

No se ha probado con un lector de pantalla.

Código

Copiar el marcado

Bundler
import "@luz-ds/catalog/components/do-dont.css";
HTML
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@luz-ds/catalog@0.3.0/dist/components/do-dont.min.css" integrity="sha384-Oy/gLexm/R2x1z6J/k+HPFqeZFukZ9a8dRAA4oXn0+KTbjg3uYSlaRV5fhdnM+UK" crossorigin="anonymous">

Una pareja: primero lo que hay que hacer y después lo que no. Cada ejemplo es una figura cuyo pie explica el motivo:

HTML
<div class="luz-do-dont">
  <figure class="luz-do-dont__item luz-do-dont__item--do">
    <figcaption><strong class="luz-do-dont__verdict">Do</strong> Title a page for what it lets the reader do.</figcaption>
    <div class="luz-do-dont__stage" inert aria-hidden="true">
      <h3>Install the command line tool</h3>
    </div>
  </figure>
  <figure class="luz-do-dont__item luz-do-dont__item--dont">
    <figcaption><strong class="luz-do-dont__verdict">Don't</strong> Use a title that fits any page: "Introduction" tells the reader nothing.</figcaption>
    <div class="luz-do-dont__stage" inert aria-hidden="true">
      <h3>Introduction</h3>
    </div>
  </figure>
</div>

Variantes y opciones

Un bloque, sus partes y dos modificadores para los dos veredictos.

ClaseEfecto
.luz-do-dont
En un <div>: la pareja, en columnas de al menos 17.5rem. Una al lado de la otra si hay espacio; apiladas por debajo
.luz-do-dont__item
En cada <figure>: un recuadro con marco, pie y ejemplo visual
.luz-do-dont__item--do
Un marco continuo en el color de éxito
.luz-do-dont__item--dont
Un marco discontinuo en el color de peligro
.luz-do-dont__verdict
En un <strong> al principio del pie: «Hazlo» o «No lo hagas», del color del marco y con una marca de verificación o una cruz delante
.luz-do-dont__stage
El ejemplo visual: un recuadro con borde sobre la superficie de la página. Asígnale inert y aria-hidden="true". Si el error supondría una barrera, usa un pre.luz-code-block en su lugar

Cómo funciona

CSS de components/do-dont.css de @luz-ds/catalog. Muestra el veredicto de tres maneras; el texto lo escribes tú.

  • El veredicto se expresa primero con una palabra. La marca de verificación o la cruz, el marco continuo o discontinuo y el color son indicaciones adicionales; ninguna se usa por sí sola.
  • La marca de verificación y la cruz son contenido generado con alternativa vacía, así que el lector de pantalla no las lee.
  • El ejemplo visual es inerte y está oculto para las tecnologías de asistencia: es una imagen y el pie explica qué muestra. Nada de lo que contiene recibe el foco ni se anuncia.
  • Un error que supondría una barrera si se mostrara en vivo, como un contraste bajo o una semántica incorrecta, se presenta como código en un pre.luz-code-block, nunca como ejemplo visual activo.
  • Escribe primero qué hacer y después qué no. Una página puede tener varias parejas, una tras otra.

Sin JavaScript

No cambia nada. El atributo del ejemplo visual lo hace inerte y la pareja usa CSS.

Teclado y ARIA

  • Orden: primero lo que hay que hacer y después lo que no. Cada ejemplo es un <figure> con un <figcaption>, que se lee como pie de la imagen.
  • Ejemplo visual: inert impide que reciba el foco o los clics, y aria-hidden="true" lo oculta del árbol de accesibilidad. No pongas dentro enlaces ni campos que quien lee deba usar.
  • Ejemplo de código: un pre.luz-code-block conserva tabindex="0" y aria-label cuando se desplaza.

La pestaña Diseño contiene el contraste y el foco.

Diseño

Cuándo usarlo

Usa ejemplos de qué hacer y qué no para enseñar una regla mediante el contraste: quien lee ve la forma correcta junto a la incorrecta.

  • Una lección más fácil de mostrar que de explicar, como un título, una etiqueta o un espaciado.
  • Una pareja por lección, y el ejemplo de lo que no hay que hacer refleja un error real.

Cuándo no usarlo

No lo uses para una regla sin nada con lo que compararla ni para mostrar un elemento que funciona.

  • Para mostrar el aspecto y la estructura de un elemento, usa el ejemplo.
  • No inventes un error que nadie comete para rellenar el ejemplo de lo que no hay que hacer.
  • No muestres un fallo activo. Los fallos de contraste o semántica se presentan como código.

Qué hacer y qué no

Hazlo Muestra en el ejemplo visual una sola cosa, la que describe el pie.
No lo hagas Mostrar varias cosas en el ejemplo visual: no se sabrá cuál describe el pie.

Cómo escribir el contenido

  • El veredicto es «Hazlo» o «No lo hagas», seguido de un espacio.
  • El motivo se explica en una frase, como máximo dos. El ejemplo de lo que hay que hacer empieza con un verbo; el de lo que no, explica qué problema causa.
  • Los dos ejemplos visuales muestran lo mismo con un solo cambio. Si difieren en tres aspectos, no se sabrá cuál es importante.
  • El ejemplo usa palabras reales: el nombre de una tarea, no «Lorem ipsum».

Contraste y foco

El pie se apoya en la superficie del marco y el ejemplo visual, en la de la página. El veredicto y el marco comparten color.

ParteColor sobre el fondoClaroOscuroAlto contrasteMínimo necesario
Hazlo
--luz-color-success on --luz-surface
5.5:1
11.6:1
9.3:1
4.5:1
No lo hagas
--luz-color-danger on --luz-surface
5.5:1
10.8:1
9.3:1
4.5:1
Pie
--luz-text-primary on --luz-surface
16.5:1
14.0:1
21.0:1
4.5:1
Texto del ejemplo visual
--luz-text-primary on --luz-surface-page
15.8:1
15.1:1
21.0:1
4.5:1
Marco de «Hazlo»
--luz-color-success on --luz-surface
5.5:1
11.6:1
9.3:1
3:1
Marco de «No lo hagas»
--luz-color-danger on --luz-surface
5.5:1
10.8:1
9.3:1
3:1

Medido a partir de los valores de los tokens de cada modo y redondeado hacia abajo. El mínimo requerido corresponde a WCAG 2.2 AA: 4,5:1 para el texto y 3:1 para los anillos de foco, los bordes y los iconos.

  • Foco: nada de un ejemplo visual activo recibe el foco. El ejemplo de código conserva el anillo de core, de 2 px y color --luz-focus-ring.
  • No solo con el color: la palabra, el símbolo que la precede y el marco continuo o discontinuo indican cuál es cuál (WCAG 1.4.1).
  • Bordes: el borde del ejemplo visual (--luz-divider) es decorativo y no tiene un mínimo.

Tokens que usa

Los 11 tokens que usan las reglas de .luz-do-dont de components/do-dont.css del catálogo, agrupados por familia. Cada familia enlaza a su página, donde figuran los valores de todos los modos. En Figma son variables con los mismos nombres: consulta Tokens en Figma.

Spacing and sizing
--luz-space-md, --luz-space-sm
Typography
--luz-font-sans
Radius
--luz-radius-md, --luz-radius-sm

La pestaña Código contiene el teclado y ARIA.