Saltar al contenido principal

Tabla

Uso​

Descripción general​

La tabla es un componente que se utiliza para mostrar y manipular conjuntos de datos grandes y complejos en un formato escaneable y fácil de leer. Las tablas organizan la información en filas y columnas, lo que permite a los usuarios comparar datos, identificar patrones y actuar.

Cuándo se debe utilizar​

  • Para presentar datos complejos que requieren una organización y una estructura claras.
  • Cuando el orden en que se presentan los datos es importante y los usuarios necesitan controlar el ordenamiento.
  • Cuando los usuarios deben comparar datos del mismo tipo entre diferentes elementos.

Cuándo no se debe utilizar​

Formato​

Anatomía​

Anatomía del componente tabla con leyendas numeradas para el título, los controles, las acciones, los encabezados, las filas y la paginación.

El componente tabla consta de los siguientes elementos:

  1. Título y subtítulo. Encabezado que describe el contenido de la tabla.
  2. Controles de tabla. Conjunto de controles para manipular cómo se muestran los datos, como la búsqueda y los filtros.
  3. Acciones de la tabla. Conjunto de botones que realizan una operación en el conjunto de datos de la tabla, como agregar un nuevo registro o exportar datos.
  4. Encabezados de columna. Rótulos para cada columna que identifican el tipo de datos. Los encabezados también pueden incluir ordenamiento y otras acciones.
  5. Filas de datos. Conjunto completo de celdas que representa un solo elemento o registro. Las filas pueden incluir controles de selección (casillas de verificación) e íconos de expansión.
  6. Acciones de fila. Conjunto de acciones en la última columna que un usuario puede realizar en una fila individual.
  7. Paginación. Controles que permiten a los usuarios navegar por las páginas de datos y ajustar el número de filas que se muestran por página.

Alineación y ubicación​

De forma predeterminada, las columnas se reducen para ajustarse a su contenido, excepto la última columna, que se expande para ocupar el espacio disponible restante. Esto preserva la capacidad de escaneo de la información.

Si una tabla incluye acciones de fila, estas se deben colocar en esta última columna.

Contenido​

Pautas generales de redacción​

  • En todos los aspectos del diseño de las interfaces de productos de Guidewire, utilice mayúsculas como se usan en las oraciones. No use mayúsculas en todas las palabras.
  • Use verbos en tiempo presente y voz activa en la mayoría de las situaciones.
  • Use contracciones comunes para darle al texto un tono más natural e informal (pauta correspondiente al inglés).
  • Use un lenguaje sencillo. Evite la jerga innecesaria y el lenguaje complejo.
  • Las palabras y las oraciones deben ser breves.

Concisión del contenido de la celda​

Intente que el contenido dentro de una celda de la tabla no supere los 50 caracteres para garantizar la legibilidad. Para contenido más largo, el componente maneja el desbordamiento con las siguientes reglas específicas:

  • El texto de entre 81 y 159 caracteres se ajusta en varias líneas.
  • El texto de 160 caracteres o más se trunca con puntos suspensivos (...) y el texto completo se revelará en una descripción emergente al pasar el cursor por encima.
  • Los datos numéricos siempre deben ser completamente visibles y no se ajustan ni truncan.
  • Otros formatos de datos se ajustan si fuera necesario.

Redacción de encabezados de columna claros​

Los encabezados deben ser cortos, descriptivos y estar escritos con mayúsculas como se usan en las oraciones.

  • Los encabezados deben limitarse a una o dos palabras. Esto mejora la escaneabilidad y garantiza la legibilidad de los datos de la tabla.
  • Comience los encabezados con un sustantivo cuando sea posible. Los encabezados son rótulos para los datos de la columna, por eso, usar un sustantivo (por ejemplo, nombre, estado, fecha de creación) es la forma más clara de describir esos datos.

Formato coherente de los números​

Si escribe en inglés americano, use una coma como separador de mil en cualquier número con cuatro o más dígitos. No utilice comas en años (a menos que sean cinco o más dígitos), números de página, direcciones o decimales.

Para otras configuraciones regionales, siga las pautas de localización establecidas para el formato de números.

Claridad en estados vacíos​

Escriba mensajes directos y útiles que expliquen por qué la tabla está vacía y, si es posible, qué puede hacer el usuario a continuación.

Comportamientos​

Estados​

Una tabla puede tener varios estados para comunicar el estado de los datos.

  • Cargando: Cuando se recuperan datos, el cuerpo de la tabla muestra un indicador de carga con el texto “Cargando datos...”.
  • Vacía: Cuando una tabla no contiene datos, muestra el estado vacío. El mensaje debe ser útil y se recomienda utilizar un botón de acción para guiar al usuario. Por ejemplo, cuando diseñe un estado “Sin resultados de búsqueda”, muestre un botón Borrar filtros si los filtros están activos. El tipo de botón (principal, secundario y terciario) se puede configurar para adaptarse al caso de uso específico.
  • Error: Si los datos no se cargan debido a un error del sistema (como cuando se pierde la conexión a Internet), el estado vacío debe comunicar el problema y proporcionar una acción de recuperación, como un botón Actualizar.
  • Estados de fila: Las filas pueden estar en estado predeterminado, seleccionado (resaltado) o expandido.

Interacciones​

  • Ordenamiento: Los usuarios pueden hacer clic en el encabezado de una columna para ordenar los datos de la tabla según esa columna. Un ícono direccional en el encabezado indica la dirección del ordenamiento actual.
  • Selección: Los usuarios pueden seleccionar una o más filas con las casillas de verificación de la primera columna. Una casilla de verificación en el encabezado permite a los usuarios seleccionar o anular la selección de todas las filas visibles. Cuando se seleccionan filas, puede aparecer una barra de selección contextual en la parte superior de la tabla.
  • Expansión de filas: Si una fila se puede expandir, los usuarios pueden hacer clic en el ícono de corchete angular para mostrar información adicional relacionada directamente debajo de la fila.
  • Acciones de fila: Los usuarios realizan acciones en una sola fila utilizando los controles de la última columna. Muestra hasta dos acciones de ícono principales. Coloque todas las acciones adicionales en un menú de puntos suspensivos (...).
  • Paginación: Los usuarios pueden navegar entre las páginas de datos utilizando los controles de paginación en la parte inferior de la tabla.

Capacidad de ser responsive y adaptabilidad​

El componente tabla es totalmente responsive. Sin embargo, para los casos de uso que dan prioridad a los dispositivos móviles, una vista de tarjeta a menudo proporciona una mejor experiencia de usuario que una tabla tradicional de varias columnas.

Accesibilidad​

Este componente de Jutro ha sido validado para cumplir con las pautas de accesibilidad de WCAG 2.2 AA en su configuración base predeterminada. Esto incluye garantizar que se cumpla lo siguiente:

  • La relación de contraste de los elementos textuales con respecto a su fondo es superior a 4,5:1.
  • El contenido no textual que debe transmitir significado (como íconos e indicadores de foco) tiene una relación de contraste de al menos 3:1 con sus colores adyacentes.
  • El elemento se puede operar con teclado, así como con mouse.
  • Se puede acceder al contenido mediante lectores de pantalla, como JAWS y VoiceOver.

El cumplimiento de los criterios de accesibilidad depende, en última instancia, de cómo se implementa y personaliza este componente. Los cambios realizados por el autor del contenido pueden afectar la accesibilidad. Para obtener más información sobre nuestro modelo de responsabilidad compartida, revise nuestra declaración completa sobre accesibilidad de Jutro.

Al utilizar este componente en su aplicación, asegúrese de lo siguiente:

  • Se debe proporcionar un título descriptivo. Un título, idealmente con el elemento <caption>, ayuda a los usuarios con lectores de pantalla a comprender el propósito de la tabla antes de comenzar a navegar por los datos.
  • Los encabezados de columna deben estar definidos correctamente. Los encabezados deben estar estructurados correctamente (usando <th> con un atributo scope="col") para que los lectores de pantalla puedan anunciar el encabezado correcto para cada celda de datos a medida que un usuario navega.
  • Todos los elementos interactivos deben ser accesibles. Cualquier control dentro de la tabla, como botones o enlaces, debe tener un nombre claro y accesible. Para los botones de solo ícono, esto requiere proporcionar un aria-label descriptivo (por ejemplo, aria-label="Delete item").
  • Se debe anunciar el estado actual del ordenamiento. Cuando se ordena una columna, su encabezado debe comunicar la dirección (ascendente o descendente) a los lectores de pantalla, normalmente mediante el atributo aria-sort.
  • Se debe indicar cuándo se está cargando contenido. Establezca el atributo aria-busy="true" en la tabla cuando su contenido se esté cargando o actualizando activamente.

Navegación por teclado​

La tabla proporciona una navegación completa por teclado siguiendo el patrón de cuadrícula.

  • Teclas de flecha: Navega entre celdas adyacentes.

    • ← (Flecha izquierda): Pasa a la celda anterior en la fila actual.
    • → (Flecha derecha): Pasa a la siguiente celda de la fila actual.
    • ↑ (Flecha hacia arriba): Pasa a la celda de arriba en la misma columna.
    • ↓ (Flecha hacia abajo): Pasa a la celda de abajo en la misma columna.
  • Navegación mediante tabulador: Navegación secuencial por la tabla.

    • Tab: Pasa al siguiente elemento que pueda recibir el foco.
    • Shift + Tab: Pasa al elemento anterior que pueda recibir el foco.
  • Navegación por la página: Navegación rápida para tablas grandes.

    • Page Up: Pasa a la primera fila de la columna actual.
    • Page Down: Pasa a la última fila de la columna actual.
  • Navegación a los límites: Saltar a los límites de la tabla.

    • Home: Pasar a la primera celda de la fila actual.
    • Ctrl + Home: Pasar a la primera celda de la tabla (arriba a la izquierda).
    • End: Pasar a la última celda de la fila actual.
    • Ctrl + End: Pasar a la última celda de la tabla (abajo a la derecha).

Compatibilidad con contenido interactivo​

El sistema de navegación por teclado maneja de forma inteligente las celdas que contienen elementos interactivos:

  • Botones y enlaces: Los elementos interactivos, como botones de ordenamiento o acciones de fila, dentro de las celdas siguen siendo accesibles a través de la navegación estándar mediante tabulador y las teclas de flecha. Cuando se utiliza la navegación con teclas de flecha, si una celda contiene un elemento interactivo, como un campo de entrada, botón o enlace, con un tabindex superior a -1, el foco pasa a ese elemento en lugar de a la celda. Si hay varios elementos interactivos en la celda, el foco pasa al primero.
  • Contenido personalizado que puede recibir el foco: Cualquier elemento con un atributo tabindex se integra correctamente en el flujo de navegación.
  • Entradas de formulario: Cuando una celda contiene campos de entrada, elementos textarea u otros elementos editables form, la navegación respeta su modo de edición, lo que significa que cuando el foco está en uno de esos elementos, las teclas de flecha funcionan según lo previsto para la navegación dentro del elemento. Para alejarse del elemento, utilice Tab o Shift + Tab.

Gestión del foco​

En la tabla se utilizan técnicas avanzadas de gestión del foco:

  • Patrón de tabindex itinerante: Solo una celda de la tabla puede recibir el foco a la vez, lo que reduce las paradas de tabulación y mejora la eficiencia de la navegación.
  • Conocimiento de los límites: Las teclas de navegación respetan los límites de la tabla y no moverán el foco fuera de la cuadrícula de la tabla.
  • Indicadores visuales de foco: Información visual clara que muestra qué celda tiene el foco actualmente.

Para que la gestión del foco funcione correctamente, asegúrese de que las propiedades rowIndex y columnIndex estén configuradas correctamente para el componente BodyCell y la propiedad columnIndex esté configurada correctamente para el componente HeaderCell. Consulte los contratos de componentes para obtener más detalles.