EniunEniunEniunEniun
  • Inicio
  • Servicios
    • Desarrollo Web
    • Diseño Web
    • Marketing Digital
    • Social Media
    • Experiencia de usuario
  • Tutoriales
  • Blog
✕
            Sin resultados Ver todos los resultados

            Cómo hacer tablas accesibles

            tablas accesibles

            como hacer tablas accesibles

            La importancia de hacer tablas accesibles radica en garantizar que todas las personas puedan acceder y comprender la información presentada en las tablas. Esto mejora la experiencia de usuario, fomenta la inclusión y cumple con los estándares de accesibilidad web, promoviendo un entorno digital más igualitario y accesible.

            Contenidos del artículo

            • 5. Cómo hacer tablas accesibles
              • 5.1. Utilizar encabezados de tabla
              • 5.2. Proporcionar una descripción
              • 5.3. Utilizar un diseño claro y sencillo
              • 5.4. Usar el atributo headers
              • 5.5. Agregar etiquetas <thead>, <tbody> y <tfoot>
              • 5.6. Evitar celdas vacías o duplicadas
              • 5.7. Proporcionar información adicional con <abbr> y el atributo title
              • 5.8. Hacer que la tabla sea responsive
              • 5.9. Ejemplos

            Además, las tablas accesibles también benefician a los motores de búsqueda, ya que facilitan la indexación y comprensión del contenido, mejorando el posicionamiento en los resultados de búsqueda.

            5. Cómo hacer tablas accesibles

            Las tablas son una herramienta útil para presentar datos en un formato estructurado y fácil de entender. Sin embargo, para asegurarnos de que nuestras tablas sean accesibles para todos los usuarios, es importante seguir las siguientes pautas de accesibilidad.

            5.1. Utilizar encabezados de tabla

            Los encabezados de tabla ayudan a los usuarios a entender la estructura y el contenido de la tabla. Asegúrate de utilizar la etiqueta <th> para los encabezados de tabla y de incluir un atributo scope para indicar si el encabezado se aplica a una columna (scope="col") o a una fila (scope="row"). Esto mejorará la interpretación de la tabla por parte de los lectores de pantalla.

            <table>
              <tr>
                <th scope="col">Nombre</th>
                <th scope="col">Edad</th>
                <th scope="col">Ciudad</th>
              </tr>
              <tr>
                <td>Juan</td>
                <td>32</td>
                <td>Madrid</td>
              </tr>
              <tr>
                <td>Andrea</td>
                <td>27</td>
                <td>Elche</td>
              </tr>
            </table>

            5.2. Proporcionar una descripción

            Si tu tabla es compleja o contiene una gran cantidad de información, puede ser útil proporcionar una descripción para ayudar a los usuarios a entender su contenido. Puedes utilizar la etiqueta <caption> dentro de la etiqueta <table> para agregar una descripción a tu tabla.

            <table>
              <caption>Lista de participantes</caption>
              <tr>
                <th scope="col">Nombre</th>
                <th scope="col">Edad</th>
                <th scope="col">Ciudad</th>
              </tr>
              <tr>
                <td>Juan</td>
                <td>32</td>
                <td>Madrid</td>
              </tr>
              <tr>
                <td>Andrea</td>
                <td>27</td>
                <td>Elche</td>
              </tr>
            </table>

            El atributo summary también se puede usar en el elemento table para proporcionar una descripción. Pero, es recomendable usar el elemento caption, porque summary está obsoleto conforme a la especificación HTML5 y porque los usuarios sin discapacidad visual no pueden leerlo (no aparece en la página).

            5.3. Utilizar un diseño claro y sencillo

            Un diseño claro y sencillo ayuda a los usuarios a entender el contenido de la tabla. Evita utilizar colores o fuentes que puedan dificultar la lectura y asegúrate de que el contenido esté bien organizado y sea fácil de seguir.

            5.4. Usar el atributo headers

            El atributo headers se puede utilizar para asociar celdas de datos con celdas de encabezado en tablas complejas. Para ello, debemos asociar las celdas de datos (<td>) con los encabezados (<th>) mediante el atributo headers. Esto puede ayudar a mejorar la accesibilidad para usuarios que utilizan lectores de pantalla.

            <table>
              <tr>
                <th id="nombre">Nombre</th>
                <th id="edad">Edad</th>
                <th id="ciudad">Ciudad</th>
              </tr>
              <tr>
                <td headers="nombre">Juan</td>
                <td headers="edad">32</td>
                <td headers="ciudad">Madrid</td>
              </tr>
              <tr>
                <td headers="nombre">Andrea</td>
                <td headers="edad">27</td>
                <td headers="ciudad">Elche</td>
              </tr>
            </table>

            En este ejemplo, hemos utilizado el atributo headers para asociar cada celda de datos con su celda de encabezado correspondiente. Esto puede ayudar a los usuarios que utilizan lectores de pantalla a entender mejor la estructura y el contenido de la tabla.

            5.5. Agregar etiquetas <thead>, <tbody> y <tfoot>

            Las etiquetas <thead>, <tbody> y <tfoot> se pueden utilizar para mejorar la estructura y la accesibilidad de tus tablas. La etiqueta <thead> se utiliza para agrupar el contenido del encabezado de la tabla, la etiqueta <tbody> se utiliza para agrupar el contenido principal de la tabla y la etiqueta <tfoot> se utiliza para agrupar el contenido del pie de la tabla.

            <table>
              <thead>
                <tr>
                  <th>Nombre</th>
                  <th>Edad</th>
                  <th>Ciudad</th>
                </tr>
              </thead>
              <tbody>
                <tr>
                  <td>Juan</td>
                  <td>32</td>
                  <td>Madrid</td>
                </tr>
                <tr>
                  <td>Andrea</td>
                  <td>27</td>
                  <td>Elche</td>
                </tr>
              </tbody>
              <tfoot>
                <tr>
                  <td colspan="3">Total: 2 participantes</td>
                </tr>
              </tfoot>
            </table>

            En este ejemplo, hemos utilizado las etiquetas <thead>, <tbody> y <tfoot> para mejorar la estructura y la accesibilidad de nuestra tabla. Esto puede ayudar a los usuarios a entender mejor el contenido de la tabla y también puede mejorar la compatibilidad con lectores de pantalla.

            5.6. Evitar celdas vacías o duplicadas

            Las celdas vacías o duplicadas pueden dificultar la comprensión de la tabla para los usuarios, especialmente para aquellos que utilizan lectores de pantalla. Asegúrate de que todas las celdas de tu tabla contengan contenido relevante y evita duplicar información.

            Si necesitas fusionar celdas en una fila o columna, puedes utilizar los atributos colspan y rowspan para hacerlo. Estos atributos te permiten especificar cuántas columnas o filas debe ocupar una celda.

            <table>
              <tr>
                <th>Nombre</th>
                <th>Edad</th>
                <th>Ciudad</th>
              </tr>
              <tr>
                <td>Juan</td>
                <td>32</td>
                <td>Madrid</td>
              </tr>
              <tr>
                <td>Andrea</td>
                <td>27</td>
                <td>Elche</td>
              </tr>
              <tr>
                <td colspan="3">Total: 2 participantes</td>
              </tr>
            </table>

            En este ejemplo, hemos utilizado el atributo colspan para fusionar las tres celdas de la última fila en una sola celda. Esto nos permite mostrar un resumen del contenido de la tabla sin dejar celdas vacías o duplicar información.

            5.7. Proporcionar información adicional con <abbr> y el atributo title

            La etiqueta <abbr> se utiliza para indicar una abreviatura y el atributo title se utiliza para proporcionar información adicional sobre el contenido de la etiqueta.

            <table>
              <tr>
                <th>Nombre</th>
                <th>Edad</th>
                <th><abbr title="Ciudad de residencia">Ciudad</abbr></th>
              </tr>
              <tr>
                <td>Juan</td>
                <td>32</td>
                <td>Madrid</td>
              </tr>
              <tr>
                <td>María</td>
                <td>27</td>
                <td>Barcelona</td>
              </tr>
            </table>

            En este ejemplo, hemos utilizado la etiqueta <abbr> para indicar que la palabra «Ciudad» es una abreviatura de «Ciudad de residencia». También hemos utilizado el atributo title para proporcionar información adicional sobre el contenido de la celda.

            5.8. Hacer que la tabla sea responsive

            Hacer que tu tabla sea responsive, es decir, que se adapte al tamaño de la pantalla del dispositivo del usuario, puede mejorar significativamente su accesibilidad. Una tabla responsive se ajusta automáticamente para mostrar su contenido de manera clara y legible en pantallas de diferentes tamaños, lo que facilita su uso para todos los usuarios.

            Hay varias técnicas que puedes utilizar para hacer que tus tablas sean responsive. Una opción es utilizar consultas de medios para aplicar diferentes estilos a tu tabla según el tamaño de la pantalla del dispositivo. Otra opción es utilizar un diseño de cuadrícula flexible para permitir que las celdas de la tabla se ajusten automáticamente al tamaño de la pantalla. También puedes utilizar la propiedad overflow-x: auto; para permitir el desplazamiento horizontal en tablas grandes en dispositivos pequeños.

            Siguiendo estas pautas, podrás hacer que tus tablas sean accesibles y ofrecer una mejor experiencia a todos los usuarios. Además, no te olvides de revisar el contraste entre el texto y el fondo y de realizar pruebas de accesibilidad para asegurarte de que la tabla sea accesible.

            5.9. Ejemplos

            Ejemplo 1:

            Esta tabla representa una lista de productos con sus precios y disponibilidad en euros. Cada columna está correctamente etiquetada con el atributo scope="col", y se han añadido los atributos id en las celdas de cabecera correspondientes. Las celdas de datos están etiquetadas con el atributo scope="row" para asociarlas con la cabecera de la columna correspondiente. Además, se ha añadido un pie de tabla (<tfoot>) que indica que los precios están expresados en euros.

            <table>
              <caption>Tabla de precios de productos</caption>
              <thead>
                <tr>
                  <th scope="col">Producto</th>
                  <th scope="col" id="precio-producto">Precio</th>
                  <th scope="col" id="disponibilidad-producto">Disponibilidad</th>
                </tr>
              </thead>
              <tbody>
                <tr>
                  <th scope="row">Producto 1</th>
                  <td headers="precio-producto">20,00 €</td>
                  <td headers="disponibilidad-producto">En stock</td>
                </tr>
                <tr>
                  <th scope="row">Producto 2</th>
                  <td headers="precio-producto">25,00 €</td>
                  <td headers="disponibilidad-producto">Agotado</td>
                </tr>
              </tbody>
              <tfoot>
                <tr>
                  <td colspan="3">Precios en euros.</td>
                </tr>
              </tfoot>
            </table>


            Ejemplo en CodePen con estilos

            0

            Ejemplo 2:

            En este ejemplo, la tabla muestra información sobre tres estudiantes y sus calificaciones en diferentes asignaturas. Los estilos aplicados son similares al ejemplo anterior, con bordes y relleno en las celdas para mejorar la legibilidad. Además, se utiliza el atributo scope para indicar el alcance de las celdas de encabezado y se agrega un pie de tabla para proporcionar información adicional sobre las calificaciones.

            Además, se utilizan los elementos y atributos HTML adecuados, como caption, thead, tbody, tfoot, th, y scope, para mejorar la estructura y la navegación para usuarios con discapacidades visuales o que utilizan lectores de pantalla.

            <table>
              <caption>Tabla de calificaciones de estudiantes</caption>
              <thead>
                <tr>
                  <th scope="col">Nombre</th>
                  <th scope="col">Asignatura</th>
                  <th scope="col">Calificación</th>
                </tr>
              </thead>
              <tbody>
                <tr>
                  <th scope="row">Juan Pérez</th>
                  <td>Lengua y Literatura</td>
                  <td>8.5</td>
                </tr>
                <tr>
                  <th scope="row">María Gómez</th>
                  <td>Matemáticas</td>
                  <td>9.2</td>
                </tr>
                <tr>
                  <th scope="row">Carlos López</th>
                  <td>Ciencias Sociales</td>
                  <td>7.8</td>
                </tr>
              </tbody>
              <tfoot>
                <tr>
                  <td colspan="3">Calificaciones en escala de 0 a 10.</td>
                </tr>
              </tfoot>
            </table>


            Ejemplo en CodePen con estilos

            0

            Navegación de entradas

            ← Cómo hacer enlaces accesibles
            Cómo hacer formularios accesibles →

            Accesibilidad web

            • 1. Concepto accesibilidad web
            • 2. Pautas de Accesibilidad WCAG
            • 3. Imágenes accesibles
            • 4. Enlaces accesibles
            • 5. Tablas accesibles
            • 6. Formularios accesibles
            • 7. Herramientas de análisis de accesibilidad web
            • 8. Ejercicios sobre accesibilidad web

            Tutoriales

            • Diseño de Interfaces
            • Usabilidad web
            • Accesibilidad web
            • HTML
            • XML
            • CSS Nivel Inicial
            • CSS Nivel Intermedio
            • CSS Nivel Avanzado
            • Bootstrap 5
            • Ver más tutoriales

            ENLACES

            • Nosotros
            • Contacto
            • Mapa del sitio
            • Blog

            TUTORIALES

            • Contenidos por bloques
            • Diseño de Interfaces Web
            • Lenguajes de Marcas y Sistemas de Gestión de Información

            SÍGUENOS

                 

            NUESTRA MISIÓN

            Queremos que consigas tus objetivos y que tu proyecto llegue a todo el mundo de la manera más óptima. Tu éxito es nuestro deseo y pondremos en práctica toda nuestra experiencia para que lo consigas.

            Únete y recibe gratis contenido exclusivo



              © 2023 Eniun Diseño Web y Marketing Digital
              Política de privacidad y cookies
                          Sin resultados Ver todos los resultados