2012-01-17 14 views
9

Tengo el siguiente contenido que necesito para marcar:Tabla de dos columnas o dl?

Los requisitos del curso:

course requirements

y fechas:

dates

La pregunta es si se debe use una columna de dos columnasElementoo un elemento dl (description list). Me gustaría obtener una respuesta para cada instancia específica, y luego una respuesta en general si es posible. Siempre he tenido problemas para decidir sobre estos elementos, especialmente si el table no tiene (o necesita) encabezados.

Nota: Mi pregunta es no cómo debo diseñar estos elementos. Iré a la presentación después de decidir sobre la semántica.

EDITAR: Las respuestas que se adhieren al borrador de HTML5 son preferibles a las respuestas que se adhieren a la antigua recomendación de HTML4.

Respuesta

0

Usaría una tabla de dos columnas ya que no está definiendo nada en sus dos ejemplos (está mostrando la clave: información del tipo de valor). La etiqueta dl (en términos de semántica) se utiliza para definiciones exclusivamente o descripciones. Por ejemplo, algunas personas comentan su código usando <dl> etiquetas.

Cuando se trata de elegir puede decirse a sí mismo: lo hace "este" (por ejemplo Cohorte #) significa "este" (10 de febrero)

-1

Se puede usar un estilo UL con un fijo con label + sus datos.

2

Estas parecen tablas para mí. Un dl se usa como nombre, lista de pares de valores donde cada nombre puede tener uno o más valores. No creo que se puede colocar una correlación entre múltiples grupos, por ejemplo,

<dl> 
<dt>Class</dt> 
<dd>Cohort Teaching</dd> 
<dd>My other Class</dd> 
<dt>Points</dt> 
<dd>10</dd> 
<dd>20</dd> 
</dl> 

No hay nada en el specification que indica que Cohorte La enseñanza se relaciona con los 10 puntos. Cada grupo es autónomo.

Por lo menos no lo marcaría usando una DL como lo he hecho. Yo usaría una mesa

+0

Sí, estoy de acuerdo en un 'dl' no existe una correlación entre un' dd' en un grupo y un 'dd' en otro grupo. la única correlación disponible es entre un 'dt' y un siguiente' dd'. Por lo tanto, estoy de acuerdo en que uno no debe marcar el contenido usando un 'dl' como lo hizo en su ejemplo. Sin embargo, uno podría poner cada entrada en la "columna de la izquierda" en una 'dt' y ditto" columna de la derecha "en' dd'. Por ejemplo '

Enseñanza de cohorte
10 pts
' etc. De esta manera la correlación se haría explícita. – chharvey

6

El elemento de la tabla se adaptaría mejor a sus necesidades, en términos de semántica.

W3C indica que el elemento table "allows authors to arrange data -- text, preformatted text, images, links, forms, form fields, other tables, etc. -- into rows and columns of cells", que es exactamente cómo formateó su ejemplo.

El W3C indica que la etiqueta dl es para las listas que "consist of two parts: a term and a description". Desde "10 pts." no es la descripción del término "Enseñanza de la cohorte", este no es el elemento adecuado para usar.

+2

No, en realidad, un dl es perfecto. A partir de la especificación que se vincula, también se establece que 'Otra aplicación de DL, por ejemplo, es para marcar diálogos, con cada DT nombrando un altavoz, y cada DD conteniendo sus palabras'. Y en HTML5 se les llama listas de descripción que además respaldan este http://www.w3.org/TR/html-markup/dl.html – Alistair

+0

@Alistair, Es cierto que puede usar la etiqueta 'dl' para este propósito, pero semánticamente no es correcto. Marcado de diálogos (como se hace referencia) es similar a un término-descripción agrupación en que hay un nombre-diálogo de agrupación, sin embargo, el OP no se refiere al diálogo y está describiendo un índice que está estructurado en una fila x diseño de columna , un ajuste perfecto para una 'mesa'. También terminarías sobre-estilizando el 'dl' al final para que se vea similar a una' tabla'. –

+0

Todavía estoy indeciso sobre los dos. Mire los ejemplos de código en [los documentos HTML5 en el elemento dl] (http://www.w3.org/html/wg/drafts/html/master/grouping-content.html#the-dl-element). No está reservado solo para los pares de descripción de términos. – chharvey

14

Regla de oro: si puede poner un encabezado en la versión de la tabla, debe no ser una lista de definición.

Otra regla de oro: si puede no poner un encabezado en la versión de la tabla, debe ser una lista de definición.

Eso es porque una buena lista no debería tener sentido como una tabla y viceversa. He aquí un ejemplo de lo que una buena lista de definiciones se parece a:

Altura
180cm
Peso
180kg
Teléfono
555-5555
123-4567

Cuando tratamos de convertir esto en una tabla que obtenemos ...

 
Terms   Definitions 
------------------------ 
Height  180cm 
Weight  180kg 
Telephones 555-5555 
       123-4567 

Mire los encabezados de las columnas; ¡Son solo "términos" y "definiciones"!

La altura, el peso y el teléfono son cosas completamente diferentes con definiciones completamente diferentes asociadas. ¿En qué parte del mundo se encuentran 555-5555 y 180cm en la misma columna? ¡No tiene sentido!

Sin embargo, a veces se ve tablas como esta

 
Height  | 180cm 
Weight  | 180kg 
Telephones | 555-5555 
       | 123-4567 

No hay términos y definiciones como cabecera, las cabeceras de las células se supone que en la primera columna. En mi humilde opinión, cuando tiene una mesa como esa, está utilizando tablas incorrectas y debería usar una lista de definiciones en su lugar. Para que una tabla sea justificable, debe tener varias filas y cada celda de cada fila se puede definir por los encabezados de su columna.

Algo como esto, por ejemplo:

 
Name Height Weight 
------------------------ 
John 180cm  180kg 
Jack 170cm  155kg 

John y Jack son nombres. 180cm y 170cm son alturas. 180 kg y 155 kg son pesas. Tiene una relación importante de celdas con sus filas y columnas, y no puede poner esto en una lista de definición sin cortar esa relación importante. Entonces, en este caso, se debe usar una tabla.

TL; DR: La tabla de dos columnas en su pregunta puede tener encabezados. Entonces debería ser una mesa.

Ver:

 
Class       Required Points 
--------------------------------------------- 
Cohort Teaching    10 pts. 
Cohort Research and Report 20 pts. 
+0

Tenga cuidado con las listas de definiciones si el sitio web desea ser accesible (cada sitio web debería;)). Hay problemas con los lectores de pantalla, consulte https://snook.ca/archives/html_and_css/definition-lists-v-tables –

Cuestiones relacionadas