params:-name:rowstype:arrayrequired:truedescription:Arrayoftablerowsandcells.params:-name:texttype:stringrequired:truedescription:If`html`isset,thisisnotrequired.Textforcellsintablerows.If`html`isprovided,the`text`argumentwillbeignored.-name:htmltype:stringrequired:truedescription:If`text`isset,thisisnotrequired.HTMLforcellsintablerows.If`html`isprovided,the`text`argumentwillbeignore-name:classestype:stringrequired:falsedescription:Classestoaddtothetablerowcell.-name:colspantype:integerrequired:falsedescription:Specifyhowmanycolumnsacellextends.-name:rowspantype:integerrequired:falsedescription:Specifyhowmanyrowsacellextends.-name:attributestype:objectrequired:falsedescription:HTMLattributes(forexampledataattributes)toaddtothetablecell.-name:headtype:arrayrequired:falsedescription:Arrayoftableheadcells.params:-name:texttype:stringrequired:falsedescription:If`html`isset,thisisnotrequired.Textfortableheadcells.If`html`isprovided,the`text`argumentwillbeignored.-name:htmltype:stringrequired:falsedescription:If`text`isset,thisisnotrequired.HTMLfortableheadcells.If`html`isprovided,the`text`argumentwillbeignore-name:classestype:stringrequired:falsedescription:Classestoaddtothetableheadcell.-name:colspantype:integerrequired:falsedescription:Specifyhowmanycolumnsacellextends.-name:rowspantype:integerrequired:falsedescription:Specifyhowmanyrowsacellextends.-name:attributestype:objectrequired:falsedescription:HTMLattributes(forexampledataattributes)toaddtothetablecell.-name:foottype:arrayrequired:falsedescription:Arrayoftabletfootcells.params:-name:texttype:stringrequired:falsedescription:If`html`isset,thisisnotrequired.Textfortabletfootcells.If`html`isprovided,the`text`argumentwillbeignored.-name:htmltype:stringrequired:falsedescription:If`text`isset,thisisnotrequired.HTMLfortabletfootcells.If`html`isprovided,the`text`argumentwillbeignore-name:classestype:stringrequired:falsedescription:Classestoaddtothetabletfootcell.-name:colspantype:integerrequired:falsedescription:Specifyhowmanycolumnsacellextends.-name:rowspantype:integerrequired:falsedescription:Specifyhowmanyrowsacellextends.-name:attributestype:objectrequired:falsedescription:HTMLattributes(forexampledataattributes)toaddtothetablecell.-name:captiontype:stringrequired:falsedescription:Captiontext-name:captionClassestype:stringrequired:falsedescription:Classesforcaptiontextsize.Classesshouldcorrespondtotheavailabletypographyheadingclasses.-name:firstCellIsHeadertype:booleanrequired:falsedescription:Ifsettotrue,firstcellintablerowwillbeaTHinsteadofaTD.-name:wrappertype:objectrequired:falsedescription:Optionsforawrapperdivoutsidethetableparams:-name:classestype:stringrequired:falsedescription:Classestoaddtothewrapper(e.g.toshowanhorizontalscrollbarittherearemanycolumnsorinmobile)-name:attributestype:objectrequired:falsedescription:HTMLattributestoaddtothewrapperdiv.Foraccessibilityitneedstabindex=0,role=sectionandaria-labeloraria-labelledby.-name:classestype:stringrequired:falsedescription:Classestoaddtothetablecontainer.-name:attributestype:objectrequired:falsedescription:HTMLattributes(forexampledataattributes)toaddtothetablecontainer.accessibilityCriteria:|
## Las tablas deben:
1. Debe tener al menos una celda de encabezado (TH) en las filas o columnas exteriores.
2. Si la tabla tiene más de un nivel de encabezado (si hay elementos th en dos filas o en dos columnas) las celdas de datos y de encabezado deben estar asociadas con los atributos id (en los th) /headers (en los td).
3. El título de la tabla debe estar marcado como <caption>
4. La primera fila de la tabla no puede tener todas las celdas unidas, o se interpreta que se está simulando un caption.
5. Después de un encabezado (h1, h2…) no puede ir directamente una tabla, o se entiende que se está usando el encabezado para lo que debería ser el <caption>
6. La tabla debe tener una descripción especialmente si la tabla es grande o compleja, tiene varios niveles de encabezados, tiene totales o enlaces, etc. La descripción intenta suplir la primera impresión que tienen de la tabla las personas que pueden verla, por ejemplo, vemos que en la última columna hay enlaces o en la última fila hay totales. Como en HTML 5 ya no está admitido el atributo summary en las tablas, lo que se hace es poner la descripción en un párrafo antes de la tabla y asociarlo a la tabla con aria-describedby (así se evita también el error 5). El caption y la descripción no deben ser iguales.
7. El validador del OAW dará error si hay tablas de una única columna y 3 o más filas con texto menor de 150 caracteres, pues considerará que se está simulando una lista.
Este ejemplo con caption visible se considera tabla compleja a nivel de accesibilidad. Así que tendría que tener una descripción con un details asociado a la tabla con el atributo aria-describedby.
Caption 1: Meses y pagos
Mes de pago
Primer pago
Segundo pago
Enero
85€
95€
Febrero
75€
55€
Marzo
165€
125€
Mostrar códigodel ejemplo: Tabla con caption visible
Usa el parámetro wrapper para rodear la tabla con un <div> y poder añadir clases, normalmente para hacer scroll horizontal en la tabla en anchuras pequeñas. Por accesibilidad, parámetro wrapper necesitará los atributos: tabindex=0, role=section y un aria-label o aria-labelledby.
Usa la clase modificadora .c-table--no-responsive junto al parámetro wrapper para tablas que usen rowspan o colspan o tablas que no queremos que muestren sus celdas apiladas en móvil.