2mdc
C/ Matias Turrión, 24, 1º
Madrid 28043
Tel: 91 759 00 24
Fax: 91 759 15 18

Blog: Diseño web

Jugando con tablas

Publicado el: 4/09/2008 en: Diseño web | 3 comentarios

Envía esta entrada a menéame Envía esta entrada a del.ici.ous Envía esta entrada a facebook Envía esta entrada a Twitter

La maquetación por tablas ya no es tan popular como lo era hace unos años, algo que ha llevado a más de uno (me incluyo en algunos momentos) a mandar las tablas al ostracismo apelando a la palabra mágica que últimamente rodea a todo lo relacionado con el diseño web: la Accesibilidad.

Pero quizá, en ese afán de desentendernos de las tablas, llegamos a extremos en los que tratamos de maquetar una tabla sin tablas.

Pues para todos aquellos que les ha pasado algo similar, vamos a repasar como hacer una tabla accesible.

Vamos a analizar las etiquetas que componen la estructura de una tabla y ver qué es cada uno de sus componentes:

  • La etiqueta <table>: esta etiqueta define dónde comienza la tabla. Se le debe de añadir el atributo summary="" en el que se describa de forma breve un resumen de la tabla. Además, lo común es darle un atributo id para poder darle estilo a través de CSS como un elemento individual.
  • Etiqueta <caption>: en esta etiqueta se puede poner el título de la tabla.
  • La etiqueta <thead>: etiqueta que define el comienzo de la cabecera de la tabla. Dentro de esta etiqueta se definirá la fila con <tr> como se hace en las tablas habitualmente, pero las celdas se definen como <th> sustituyendo al ya conocido <td>.
  • La anteriormente mencionada etiqueta <th>: esta etiqueta define las celdas que componen la cabecera de nuestra tabla, y como tal, el navegador les dará su peso específico “pintando” el contenido en negrita y centrándolo en la celda. Se debe de acompañar del atributo scope
  • Etiqueta <tbody>: dentro de esta etiqueta estará el cuerpo de nuestra tabla. Se definen las filas y las celdas con las sobradamente conocidas etiquetas <tr> y <td>.
  • Atributo scope="": este atributo se utiliza para vincular la información contenida en las diferentes celdas de una tabla. Se utiliza únicamente con las etiquetas <th> y <td>, y puede tomar un solo de sus valores.
    Supone una alternativa simple al atributo headers.
    ¿Esto a efectos prácticos en qué se traduce?, en que para definir inicios de columnas e inicios de fila, se debe de añadir el atributo scope="" para hacer la tabla accesible a los lectores de pantalla.

    Los valores que puede tomar son:

    1. row: la celda se refiere al inicio de una fila.
    2. col: la celda se refiere al inicio de una columna.
    3. rowgroup: la celda se refiere al inicio de un conjunto de filas.
    4. colgroup: la celda se refiere al inicio de un conjunto de columnas.

Como ejemplo de todas estas etiquetas, añado el siguiente código de una tabla:

<table summary="Tabla de ejemplo" id="tabla" >
	<caption>Título de la tabla</caption>
	<thead>
	   <tr id="cabecera" >
		<th scope="col">Título de columna 1</th>
		<th scope="col">Título de columna 2</th>
		<th scope="col">Título de columna 3</th>
	   </tr>
	</thead>
	<tbody>
	   <tr>
		<td scope="row">1ª celda de fila 1</td>
		<td>2ª celda de fila 1</td>
		<td>3ª celda de fila 1</td>
	    </tr>
	    <tr>
		<td scope="row">1ª celda de fila 2</td>
		<td>2ª celda de fila 2</td>
		<td>3ª celda de fila 2</td>
	     </tr>
	     <tr>
		<td scope="row">1ª celda de fila 3</td>
		<td>2ª celda de fila 3</td>
		<td>3ª celda de fila 3</td>
	     </tr>
	     <tr>
		<td scope="row">1ª celda de fila 4</td>
		<td>2ª celda de fila 4</td>
		<td>3ª celda de fila 4</td>
	     </tr>
	</tbody>
</table>

Este código pintaría una tabla como la siguiente:

Título de la tabla
Título de columna 1 Título de columna 2 Título de columna 3
1ª celda de fila 1 2ª celda de fila 1 3ª celda de fila 1
1ª celda de fila 2 2ª celda de fila 2 3ª celda de fila 2
1ª celda de fila 3 2ª celda de fila 3 3ª celda de fila 3
1ª celda de fila 4 2ª celda de fila 4 3ª celda de fila 4

A modo de “regalito”, un último consejo para que las celdas de las tablas queden contiguas a través de CSS.

Utilizar el atributo border-collapse:collapse; en la id de la tabla para que las celdas se unan.

Un ejemplo:

con border-collapse:collapse
a b c
d e f
sin border-collapse:collapse
a b c
d e f
Valore de 1 a 5 este artículo
1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (5 voto(s), media: 3.60 sobre 5)

Deja tu comentario3 Comentarios

  • meneame.net&hellip
    16/09/2008

    Jugando con tablas

    Chema nos cuenta en 2mdc como rescatar las que antaño fueron nuestras aliadas : las tablas

  • arianna
    26/08/2009

    yo quiero jugar las tablas pero aqui
    no ahi ni mierda

  • Corina
    27/01/2012

    S and P’s credit ratings will ideally really wake up the Usa citizens to the truth that their political officials are undoubtedly possibly the most crappy, overpaid group of amateurs that ever graced our political landscape, shame on them.

Deja tu comentario



Tags HTML Permitidos:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

2mdc.com Aplicaciones web C/ Matias Turrión, 24, 1º, Madrid 28043 Tel: 91 759 00 24 Fax: 91 759 15 18 Aplicaciones web