Me debo explicar fatal, porque enseguida se desvía el hilo hacia cosas 
que no son el meollo del problema técnico, pero en fin, para que quede 
claro...

Martin Etxauri escribió:
> personalemente he intentado antes algo así y... creo que es imposible ;)
>   
Eso creo yo, pero me gustaría asegurarme <guiño>

> pero en este caso hay algo que no entiendo:
> ¿si el ante título es ante, porque no ponerlo antes del el título  
> también en el código?
>   
La razón es la semántica. El antetítulo, por muy "ante" que sea, 
pertenece al contenido principal, a la noticia en sí; es una 
*aclaración* de lo que la noticia expresa, y sólo debe aparecer antes 
visualmente porque se empeñan los editores, pero sigue siendo parte de 
la noticia. Visualmente no hay demasiado problema en identificar este 
antetítulo como una parte integrante de la noticia en sí (está cerca del 
título, separada de la interfaz, dentro del mismo espacio visual, etc.); 
pero para un usuario de lector de pantalla, que puede navegar yendo 
directamente a los encabezados, podría quedar "fuera" de la noticia. El 
usuario de JAWS, por ejemplo, iría al encabezado de sección de nivel 1, 
y a continuación NO se leería este antetítulo, sino el contenido 
principal. El antetítulo quedaría "oculto" a este usuario, salvo que 
navegue toda la página de forma lineal, cosa que se considera un 
problema grave de usabilidad.

Victor Hugo Arias Valencia escribió:
> Si es un ante-titulo puede ser un H3, y el titulo de la noticia un H2, y
> pues me parece lógico lo que dice martin, si va antes, pues ponerlo antes de
> una vez...
>   
El contenido de la página ES esa noticia, y lo correcto semánticamente 
es que su <h1> sea el título de la noticia (que será único, sí). Además, 
los encabezados, por definición, DEBEN encabezar (describir) contenido, 
no se deben usar para crear efectos visuales o de otro tipo. No veo que 
tenga ningún sentido semántico colocar un <h3> delante de un <h2> sin 
ningún contenido intermedio. ¿Qué contenido describe el <h3>? Recuerdo 
la especificación de HTML donde se definen los encabezados [1]:

"A heading element briefly describes the topic of the section it 
introduces. Heading information may be used by user agents, for example, 
to construct a table of contents for a document automatically."

Traducción: "Un elemento de encabezado describe brevemente el tema de la 
sección a la que introduce. La información de los encabezados puede ser 
usada por los agentes de usuario, por ejemplo, para construir una tabla 
de contenidos del documento de forma automática".

De todos modos, repito que lo de menos es que el orden de los 
encabezados deba ser uno u otro, el tema aquí es si se puede o no se 
puede alterar el orden visual de las dos filas que representan el <h1> y 
el <p>.

Hernán Beati - SaberWeb.com.ar escribió:
> El "orden" de los factores no altera el producto... los encabezados no 
> son "enumeraciones" de una lista ordenada, son señales de lo que es más 
> o menos "importante" dentro de un documento. Quizás el documento empiece 
> con cosas no demasiado "importantes".
No contesto al tema de la otra estructura que propones porque ya he 
explicado que en este caso el <h1> es el título principal del documento 
(no hay varias noticias en la misma página). Pero sí quiero reiterar que 
los encabezados no son sólo "señales". Son elementos que introducen 
contenidos y que deben describir los contenidos que introducen. Colocar 
un <h3> con un <h2> detrás, sin contenido intermedio, es un uso 
inadecuado según la especificación. Y si suponemos que el <h3> 
"encabeza" al <h2>, se está alterando el orden de la jerarquía, lo que 
va en contra de las WCAG 1.0 y, sencillamente, de la pura lógica.

En todo caso, también me gustaría que os pusierais en la piel de un 
usuario de un lector de pantalla como JAWS. Inicialmente puede pulsar la 
tecla "1" para ir al primer encabezado de nivel 1 de la página. Leerá el 
título de la noticia, y a continuación podrá pulsar Insert + flecha 
abajo para continuar leyendo el resto del contenido. ¿Por qué iba a 
intentar acceder a encabezados previos de niveles inferiores, si ya ha 
encontrado lo que estaba buscando (el contenido principal)? ¿Debería 
este usuario pulsar "2" para ir al siguiente encabezado de nivel 2? ¿Con 
qué se encontraría? Desde luego no se encontraría con nada que estuviera 
*antes* del <h1>, salvo que no hubiera más <h2> en toda la página y 
tuviera que volver al principio... Incluso suponiendo que el <h2> que 
está antes del <h1> es lo "siguiente" que se encuentra, el lector dirá: 
"saltando al principio", y leerá el encabezado, lo que aumentará su 
confusión. ¿Por qué está ese encabezado al principio? ¿A dónde 
pertenece? ¿Es independiente? Por eso es por lo que es importante 
mantener la coherencia de la jerarquía.

> ¿Alguien sabe fehacientemente DONDE se recomienda que DEBAN ir en orden? 
> ¿Y qué fuente lo recomienda?
>   
En WCAG 1.0, aparte de en el propio punto 3.5 [2], donde se hace una 
referencia explícita al orden (aunque sea como un ejemplo): "For 
example, in HTML, use H2 to indicate a subsection of H1." (traducción: 
"Por ejemplo, en HTML, use H2 para indicar una subsección de H1."); como 
ya ha comentado Pablo, en las técnicas para este punto [3] se dice más 
claro aún, lo traduzco por si alguien no se lleva bien con el inglés:

"Dado que algunos usuarios exploran el documento navegando sus 
encabezados, es importante usarlos apropiadamente para transmitir la 
estructura del documento. Los desarrolladores deberían ordenar los 
elementos de encabezado de forma apropiada. Por ejemplo, en HTML, los 
elementos H2 deberían seguir a los elementos H1, los H3 a los H2, etc. 
Los desarrolladores de contenido no deberían "saltar" niveles (esto es, 
pasar de H1 directamente a H3)."

Eso sí, lo cierto es que no se dice expresamente "prohibido alterar el 
orden", y supongo que es por eso por lo que HERA y otras herramientas 
sólo dan una advertencia, y no un error. Pero eso sí, TAW sí que da un 
error automático, lo cual queda muy feo si alguien sin los conocimientos 
adecuados pasa el TAW a una web certificada...

En cuanto a las WCAG 2.0, aparte de las técnicas mencionadas por Hernán, 
yo añadiría el criterio de fallo F43 [4]: "Failure of Success Criterion 
1.3.1 due to using structural markup in a way that does not represent 
relationships in the content" (Traducción: "Fallo del Criterio de Éxito 
1.3.1 debido al uso de elementos de marcado estructural de un modo que 
no representa relaciones en el contenido"). Para mí es bastante claro 
viendo los ejemplos que los encabezados se deben usar SIEMPRE para 
encabezar contenido (como es lógico si pensamos en los usuarios que 
realmente los van a usar para acceder a las secciones).


Y aclarado (creo) el tema de los encabezados, la semántica, etc., vuelvo 
al problema original, aunque cambiaré un poco el enunciado para no 
distorsionar el núcleo de lo que se pretende (en España diríamos para 
que la gente no se vaya "por los cerros de Úbeda"):

"Dados dos elementos HTML (<div>, por ejemplo) A y B, contiguos en el 
código en el orden A->B, cuyos contenidos y dimensiones no son 
determinables a priori, y que deben presentarse visualmente como filas, 
una debajo de la otra, ¿existe alguna solución multinavegador, usando 
exclusivamente CSS (y cualquier marcado no-semántico adicional que 
pudiera requerirse), para alterar visusalmente el orden de las filas sin 
alterar el orden en el código?

Por ejemplo, dados:

<div id="A">Esto es un texto de longitud no conocida.</div>
<div id="B">La longitud de este texto tampoco se conoce.</div>

Se debe presentar:

La longitud de este texto tampoco se conoce.
Esto es un texto de longitud no conocida."

Espero que ahora haya quedado todo más claro <guiño>

Un saludín,
Ramón.

[1] HTML 4.01 Specification: 7.5.5. Headings. The h1-h6 elements
http://www.w3.org/TR/REC-html40/struct/global.html#h-7.5.5

[2] WCAG 1.0, checkpoint 3.5
http://www.w3.org/TR/WCAG10/#tech-logical-headings

[3] WCAG 1.0 Techniques. 1.2.1. Section headings
http://www.w3.org/TR/WCAG10-HTML-TECHS/#document-headers

[4] WCAG 2.0. Failure F43
http://www.w3.org/TR/2008/NOTE-WCAG20-TECHS-20081211/F43

_______________________________________________
Lista de distribución Ovillo
Para escribir a la lista, envia un correo a Ovillo@lists.ovillo.org
Puedes modificar tus datos o desuscribirte en la siguiente dirección: 
http://lists.ovillo.org/mailman/listinfo/ovillo

Responder a