Foros del Web » Creando para Internet » HTML »

<dd> vacíos

Estas en el tema de <dd> vacíos en el foro de HTML en Foros del Web. No sé si esto va en accesibilidad y usabilidad, pero en fin :) Cita: línea ### columna # - Aviso: trimming empty <dd> Es un ...
  #1 (permalink)  
Antiguo 21/09/2006, 15:35
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 16 años, 9 meses
Puntos: 535
<dd> vacíos

No sé si esto va en accesibilidad y usabilidad, pero en fin :)

Cita:
línea ### columna # - Aviso: trimming empty <dd>
Es un listado de enlaces a sitios, el cual tengo maquetando con una lista de definiciones, de la siguiente manera:

Código:
<dl>
<dt><a href="http://www.google.com/">Google.com</a></dt>
<dd>La descripción del sitio que para el caso de google podría ser algo así como: simplemente, el mejor buscador</dd>

...
</dl>
Bien, esto estaba perfecto hasta que el cliente comenzó a colocar sitios sin descripción, dándome el warning que cito arriba.

Ultimamente, cada vez que veo un cartelito amarillo en mi FF me vuelvo como loco. Intento siempre que esté en verde

¿Qué hago? ¿Lo dejo así? ¿Qué otro marcado le darían?
__________________
...___...
  #2 (permalink)  
Antiguo 21/09/2006, 16:06
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 16 años, 9 meses
Puntos: 535
Nada, no sabía que se podía ovbiar un <dd>. Es cuestión de hacer un if para sabar si el campo descripcion de la BD está vacío y en base a ello "dibujar" o no el <dd>
__________________
...___...
  #3 (permalink)  
Antiguo 21/09/2006, 16:49
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 12 años, 9 meses
Puntos: 25
mmm Al zuwaga tiene razón, lo mejor es hacerle un if
__________________
Hospedaje Web al mejor costo!
  #4 (permalink)  
Antiguo 21/09/2006, 23:04
 
Fecha de Ingreso: diciembre-2003
Mensajes: 1.583
Antigüedad: 14 años
Puntos: 13
Una de las principales diferencias entre una lista de definición (DL) y otros tipos de listas (UL y OL) es que los objetos de la primera se componen de 2 partes: un término (DT) al cual le corresponde una definición (DD).

El hecho de obviar un DD mediante un IF puede provocar 2 inconvenientes:

1. Un término sin definición, que si no me equivoco, aparte de ser una lista mal formada no pasaría la validación:
Código HTML:
<dl>
    <dt>Google</dt>
</dl> 
2. Múltiples definiciones para 1 término (esta estructura es absolutamente válida):
Código HTML:
<dl>
  <dt>Google</dt>
  <dt>Foros del web</dt>
  <dd>Comunidad hispanoparlante</dd>
</dl> 
Si te fijas, la definición finalmente queda asociada a los dos términos, lo cual no tiene ningún sentido.

En tu caso (si queremos insistir con una lista de definición) veo las siguientes alternativas:

1. Hacer obligatorio el ingreso de una descripción para cada sitio.
2. Asignar un valor por defecto para cuando el cliente no quiera ingresar una descripción (ej: No hay descripción para este link).
  #5 (permalink)  
Antiguo 22/09/2006, 08:40
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 16 años, 3 meses
Puntos: 380
Interesante tema

Creo que el asunto de que sea obligado que un dt tenga asociado al menos un dd no está del todo claro. Lo veo más bien abierto a interpretaciones sin que ninguna tenga la última palabra

Si echamos un ojo a la definición de html4 dice al respecto de las DL

Cita:
Definition lists, created using the DL element, generally consist of a series of term/definition pairs (although definition lists may have other applications). Thus, when advertising a product, one might use a definition list:
http://www.w3.org/TR/html4/struct/lists.html
Osea, generalmente consiste en series de pares término/definición.
No especifica que sea obligado el par y de hecho también se podría interpretar que más de una definición puede ser incorrecto.


Si saltamos a HTML2 nos dice al respecto

Cita:
The content of a DL element is a sequence of DT elements and/or DD elements, usually in pairs. Multiple DT may be paired with a single DD element. Documents should not contain multiple consecutive DD elements.
http://www.w3.org/MarkUp/html-spec/h....html#SEC5.6.5
Cita:
El contenido de un elemento DL es una secuencia de elementos DT y/o elementos DD, normalmente en pares. Múltiples DT pueden ser emparejados con simples (o únicos) elementos DD. Documentos no deberían contener múltiples elementos DD consecutivos.
De HTML2 saltamos a HTML3 donde especifica entre otras cosas:
Cita:
Note: Use the NOTE element when you want to have an indented note. The practice of using <DD> elements without corresponding <DT> elements is deprecated.
http://www.w3.org/MarkUp/html3/deflists.html
Se desaprueba el uso de elementos dd sin su correspondiente dt. Sin embargo no menciona que esté mal un dt sin dd.

Nos vamos a XHTML. Si miramos el esquema del módulo de listas para XHTML (xhtml schema) tenemos (entre otras cosas) que ambos elementos pueden aparecer 0 o ilimitadas veces y que la secuencia no obliga a que estén ambos elementos uno detrás de otro (según yo entiendo, vamos)
Cita:
<xs:group name="dl.content">
<xs:sequence>
<xs:choice maxOccurs="unbounded">
<xs:element ref="dt"/>
<xs:element ref="dd"/>
</xs:choice>
</xs:sequence>
</xs:group>
Indica que la secuencia que se debe seguir en un elemento DL es a elegir entre dt y dd, no que sea obligada una secuencia de dt y dd. Si mi interpretación está equivocada me corrijan por favor


Mirando hasta XHML2 continúan en las mismas
Cita:
Definition lists vary only slightly from other types of lists in that list items consist of two parts: a term and a description. The term is given by the dt element and is restricted to inline content. The description is given with a dd element that contains block-level content.
http://www.w3.org/TR/2003/WD-xhtml2-.../mod-list.html
Si se toma literalmente se puede asumir que no se permiten dt sin su dl pero también que no se pueden usar múltiples dd para un sólo dt. Sin embargo el segundo ejemplo que ofrece muestra precisamente que se puede (o al menos eso me parece):

Cita:
Here is an example with multiple terms and descriptions:

<dl>
<dt>Center</dt>
<dt>Centre</dt>
<dd> A point equidistant from all points
on the surface of a sphere.</dd>
<dd> In some field sports, the player who
holds the middle position on the field, court,
or forward line.</dd>
</dl>
De hecho sí valida una lista de definición con dt sin dd, con múltiples dd para un dt, con sólo dt y con sólo dd.

Cada cual que saque sus conclusiones (las propias, no las que haya sacado otra persona) en base a las especificaciones oficiales.

La mía es que en una lista de definiciones no necesariamente debería haber una definición para cada item. Puede que algún item no la necesite y su omisión implica el que no existe definición asociada a ese término y agregar una definición para indicar que no hay definición me parece que está de más.
Pero esta es mi opinión y no necesariamente es la buena

Un saludo
  #6 (permalink)  
Antiguo 22/09/2006, 13:26
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 16 años, 9 meses
Puntos: 535
Ufff... cuaaaanta info!

Gracias a ambos.
Me quedo con el 2do ejemplo de frijolerou. Es totálmente válido (según entiendo) pero finalmente, en mi caso, carece de sentido.

Bueno, voy a ver ué hago... pero creo que lo voy a dejar así
__________________
...___...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:02.