fastclemmy.com

Mauvaise impression

# 26-08-2004

Par le miracle de la séparation contenu/présentation, on est en mesure de créer une version imprimable d'un document HTML sans avoir à refaire deux fois le travail. Ca, vous le saviez sans doute déjà, car vous avez bien entendu lu les articles de référence sur le sujet.

Pourtant, il y a quelques petites choses à savoir avant de s'aventurer dans le domaine...

Pas de bras, pas de chocolat

Ca peut paraître idiot, mais si vous ne spécifiez pas de feuille de style pour l'impression et bien votre site risque fort de s'imprimer... sans style ! Autant dire que ça ne ressemblera pas à grand chose. Ma grande fainéantise sur fastclemmy.com vous donne un exemple concret du résultat que cela peut donner. Donc, même si cela prend quelques minutes, prenez le temps de faire une feuille de style pour avoir un rendu correct à l'impression. Ceci consiste généralement à mettre une police à empattements type Times New Roman plutôt que bâtons, de cacher les éléments de navigation et de spécifier des marges cohérentes. C'est bon ? Testez maintenant !

background-visibility:hidden;

Jusqu'à présent, il y avait deux types de méthodes. Soit l'auteur du site avait prévu une version spécifique pour l'impression s'affichant généralement dans une nouvelle fenêtre, soit l'utilisateur imprimait la page telle qu'il la voyait à l'écran. Dans les deux cas, pas de doute possible, il y avait une concordance entre la mise en forme de l'information sur son écran et sur son imprimante.

Avec l'utilisation des feuilles de style pour l'impression, cette similarité est très souvent mise à mal. Cela est dû notamment au fait que, par défaut, le navigateur désactive toutes les informations concernant les éléments d'arrière-plan (background-color et background-image). La conception par blocs encourageant à utiliser au maximum ces propriétés pour les images illustratives sur les sites, on se retrouve vite avec une page très vide quand on l'imprime "à poil". Difficile de rendre une mise en page sexy quand on ne peut pas jouer avec des images ou des fonds de couleur (regardez par exemple le rendu désastreux à l'impression du par ailleurs magnifique à l'écran PGA.com).

On se retrouve donc coincé entre le marteau et l'enclume, avec une très belle opportunité (la séparation contenu/présentation avec des feuilles de style spécifiques pour l'impression) contrecarrée par un comportement par défaut des navigateurs qui nous limite sévèrement côté créativité. L'idéal serait bien sûr que le navigateur désactive les éléments d'arrière-plan pour les pages ne possédant pas de feuille de style print mais qu'il les imprime dans le cas contraire. En effet, on peut supposer que si une feuille de style pour impression à été mise en place, celle-ci devrait utiliser judicieusement les éléments de background... Euh, on implémente ça dans Firefox 1.0 ?

#xhtmlCSS

Vos commentaires

Fred Bird - site -
"Par le miracle..."
C'est voulu, le ton évangéliste ?
"asseyons nous, mes frères, et célebrons la gloire des css devant cette impression couleur..."
;o)

Fabrice Bonny -
Je t'arrête tout de suite. Tous les navigateurs permettent d'imprimer les fonds et les couleurs *si on le souhaite*. Mais il est normal que, par défaut, ce ne soit pas le cas. Pourquoi? Accessibilité, économie d'encre, entre autres.

Ensuite, vouloir refaire sa mise en page écran sur le papier est une erreur. Ce sont deux media différents et ils doivent être traités comme tels.

fastclemmy - site -
>Fabrice
On est bien d'accord que l'idée de ne pas imprimer les fonds et les couleurs était une bonne idée *avant* l'apparition des feuilles de style print. Maintenant qu'elles existent on pourrait tout de même faire confiance aux concepteurs pour les utiliser au mieux (éviter de faire des fonds de couleur importants, etc.)

Par ailleurs je n'ai jamais dit dans mon article qu'il fallait une mise en page identique entre l'écran et le papier. Les points que je mets en exergue c'est que la mise en place des CSS print :
- change les habitudes des internautes (le tout c'est de le savoir)
- limite grandement les possibilités graphiques à cause de l'absence des backgrounds par défaut.

Laurent Denis -
@fastclemmy > "on pourrait tout de même faire confiance aux concepteurs pour les utiliser au mieux" : plutôt que d'encourager les concepteurs à décider "ce qui est le mieux" pour l'utilisateur... mieux vaut laissait celui-ci décider d'activer ou non l'impression des arrière-plan grâce à l'option correspondante dans son navigateur.

Ranfaroth -
Euh moi quand j'imprime une page, ce n'est pas pour l'afficher en poster dans ma chambre, mais par exemple pour lire ses informations dans le metro...
Donc je me moque totalement de la mise en page (et donc encore plus des backgrounds...)

gizmo -
Bah moi quand j'imprime une page, je m'attends à ce qu'elle aie un minimum de mise en page. Si c'est juste pour avoir l'information je me contente d'imprimer la sélection que je désire.

Malendur -
Le minimum de mise en page est déjà fourni par la feuille de style interne du navigateur (qui met les titres en gros, des puces devant les listes...), bref, ce qu'on obtient quand on affiche une page sans feuille de style.
Ça convient parfaitement à l'impression est c'est beaucoup plus lisible que certaines autres mises en page.

Pour la séléction, ce n'est pas une solution envisageable, car elle supprime la majorité de la structure...

Ajouter votre commentaire