2010-03-29 13 views
5

¿El uso de position:absolute dentro de relative puede crear problemas en la impresión, lectores de pantalla y para usuarios de dispositivos móviles?¿El uso de la posición: absoluto relativo relativo puede crear problemas en Impresión, lectores de pantalla y para usuarios de dispositivos móviles?

o float + + marginPadding es aún mejor si necesitamos una buena compatibilidad en pantalla, imprimir y para el lector de pantalla y los usuarios móviles, ¿debería usar menos Position?

+0

No estoy seguro de qué es mejor para la accesibilidad y cosas como lectores de pantalla e impresión, pero sé por experiencia personal que elementos relativamente posicionados dentro de elementos de posición fija me han causado mucha tristeza en el pasado y probablemente sean mejores si puede evitar ellos completamente –

+0

¿Por qué a los lectores de pantalla les importaría la propiedad 'position'? –

Respuesta

2

Los lectores de pantalla ignoran por completo el posicionamiento de los elementos a través de CSS. En su lugar, usan el orden en que aparecen los elementos en el DOM cuando deciden qué leer primero.

Consideremos el siguiente ejemplo:

<p style="position:absolute;top:100;left:0">Foo</p> 
<p style="position:absolute;top:0;left:0">Bar</p> 

Visualmente, aparece el apartado "bar" en primer lugar, porque nos hemos posicionado por encima de la otra el uso de CSS. Pero el lector de pantalla ignorará el CSS y solo leerá el párrafo "Foo" seguido del párrafo "Barra".

Así que para responder a su pregunta, sí, probablemente esté bien para los usuarios de lectores de pantalla. Sin embargo, tenga en cuenta el orden de sus elementos y asegúrese de que la página aún tenga sentido cuando se lea en ese orden.

Para la posición: fija, dependerá de los buscadores de destino. IE6, por ejemplo, no admite posicionamiento "fijo". La mayoría de los teléfonos móviles tampoco (definitivamente Safari móvil no funciona en el iPhone) debido a que la ventana gráfica es de tamaño limitado.

+0

¿Y qué hay de la impresión? –

+0

Lo que se envía a la impresora es "generalmente" lo que se muestra en la pantalla visualmente, aunque los navegadores suelen ignorar ciertas propiedades de CSS (como colores de fondo, imágenes) para guardar tinta y aplicar el ajuste para asegurarse de que encajan en la página impresa . Si desea personalizar el aspecto de su página al imprimir, definitivamente investigue el atributo media = "print" en la etiqueta de enlace. Eso le permitirá incluir CSS específicos solo cuando la página se está imprimiendo. A List Apart tiene un buen artículo sobre esta técnica: http://www.alistapart.com/articles/goingtoprint/. –

Cuestiones relacionadas