Upload
karim-amkar
View
214
Download
0
Embed Size (px)
Citation preview
8/3/2019 Bonnes Pratiques Des Standards Du Web
1/325
Le Campus
Bonnes pratiques des
standards du web
Dan Cederholm odessur www.pe
Prface de Jeffrey Zeldman
8/3/2019 Bonnes Pratiques Des Standards Du Web
2/325
Bonnes pratiquesdes standards
du Web
8/3/2019 Bonnes Pratiques Des Standards Du Web
3/325
Pearson Education France a apport le plus grand soin la ralisation de ce livre an de vous fournir uinformation complte et able. Cependant, Pearson Education France nassume de responsabilits, ni poson utilisation, ni pour les contrefaons de brevets ou atteintes aux droits de tierces personnes qui pourraiersulter de cette utilisation.
Les exemples ou les programmes prsents dans cet ouvrage sont fournis pour illustrer les descriptions thriques. Ils ne sont en aucun cas destins une utilisation commerciale ou professionnelle.
Pearson Education France ne pourra en aucun cas tre tenu pour responsable des prjudices ou dommages quelque nature que ce soit pouvant rsulter de lutilisation de ces exemples ou programmes.
Tous les noms de produits ou autres marques cits dans ce livre sont des marques dposes par leurs proprtaires respectifs.
Publi par Pearson Education France
47 bis, rue des Vinaigriers
75010 PARISTl. : 01 72 74 90 00
www.pearson.fr
Mise en pages : TyPAO
ISBN : 978-2-7440-4155-6
Copyright 2010 Pearson Education France
Tous droits rservs
Aucune reprsentation ou reproduction, mme partielle, autre que celles prvues larticle L. 122-5 2 et 3 a) du codela proprit intellectuelle ne peut tre faite sans lautorisation expresse de Pearson Education France ou, le cas chasans le respect des modalits prvues larticle L. 122-10 dudit code.
No part of this book may be reproduced or transmitted in any form or by any means, electronic or mechanical, includiphotocopying, recording or by any information storage retrieval system, without permission from Pearson EducatioInc.
Titre original : Web Standards Solutions, The Markand Style Handbook
Traduit de lamricain par Sandrine Burriel, avec lacontribution de Monique Brunel et Bruno Sbarte
ISBN original : 978-1-4302-1920-0
Copyright original 2009 by Dan Cederholm
All rights reserved
Chapitre 10 extrait deDOM Scripting de Jeremy Ke
ISBN original : 978-1-59059-533-6
All rights reserved
publi avec laimable autorisation de lauteur et delditeur
8/3/2019 Bonnes Pratiques Des Standards Du Web
4/325
Bonnes pratiquesdes standards
du Web
Dan Cederholm
8/3/2019 Bonnes Pratiques Des Standards Du Web
5/325
8/3/2019 Bonnes Pratiques Des Standards Du Web
6/325
propos de lauteur............................................................................................................ X
Remerciements ........................................................................................................................ X
Avant-propos ............................................................................................................................ XV
Introduction ..............................................................................................................................
Que sont les standards web ?...............................................................................................
Pourquoi les standards web ? ..............................................................................................
Pourquoi XHTML ? ................................................................................................................
Balisage structur .....................................................................................................................
Origines de ce livre ...................................................................................................................
Format de louvrage ................................................................................................................
Code source des exemples .....................................................................................................
Partie I Se faire plaisir avec le balisage
1 Listes...............................................................................................................................................
Allons en courses .......................................................................................................................
Cest lheure du quiz ............................................................................................................... 1
Mthode A : le saut de ligne
.............................................................................
1
la ligne, toute ! ............................................................................................................... 1
Mthode B : une puce qui nous fait tiquer................................................................... 1
Mthode C : on sapproche !........................................................................................... 1
Mthode D : au bonheur des retours la ligne ........................................................... 1
En rsum .................................................................................................................................... 1
Pour aller plus loin ................................................................................................................... 1
Dompter la puce ................................................................................................................. 1
Se faire plaisir avec des puces personnalises ............................................................ 1
Des listes pour naviguer ................................................................................................... 1
Formes de mini-onglets .................................................................................................... 2
Table des matires
8/3/2019 Bonnes Pratiques Des Standards Du Web
7/325
VI Bonnes pratiques des standards du Web
2 Titres ............................................................................................................................................... 2
Quelle est la meilleure manire de baliser le titre dun document ? .................. 2
Mthode A : du sens ? ...................................................................................................... 2
Mthode B : la combinaisonpet b................................................................................ 2
Mthode C : la forme et le fond ..................................................................................... 2
En rsum .................................................................................................................................... 2
Pour aller plus loin ................................................................................................................... 2
Style simple .................................................................................................................................. 2
Ajouter un arrire-plan ..................................................................................................... 3
Icnes interchangeables.................................................................................................... 3
Des mises jour faciles .................................................................................................... 3
Pour conclure.............................................................................................................................. 3
3 Les tableaux sont-ils lincarnation du Mal ? ........................................................ 3
Totalement tabulaire................................................................................................................ 3
Une table laquelle tout le monde peut siger............................................................. 3
Ajouter un rsum.................................................................................................................... 4
Les en-ttes du tableau ........................................................................................................... 4
Relations entre en-ttes et donnes ................................................................................... 4
Utiliser lattribut abbr............................................................................................................. 4
, et .................................................................................................. 4
Les tableaux sont-ils le Mal ? .............................................................................................. 4
Pour aller plus loin ................................................................................................................... 4
Crer une grille ................................................................................................................... 4
Faire disparatre les interstices ....................................................................................... 4
Personnaliser les en-ttes ................................................................................................. 5
En-ttes avec des images darrire-plan....................................................................... 5
Affecter des icnes des identiants............................................................................ 5
Dautres exemples de styles de tableaux......................................................................... 5
Pour conclure.............................................................................................................................. 5
4 Citations ....................................................................................................................................... 5
Mthode A : pas assez de sens ............................................................................................. 5
Mthode B : un peu de classe ? ........................................................................................... 5
Mthode C : lidal, cest .......................................................................... 5
8/3/2019 Bonnes Pratiques Des Standards Du Web
8/325
VTable des matires
Utiliser un marteau pour enfoncer une vis.................................................................... 5
En rsum .................................................................................................................................... 5
Pour aller plus loin ................................................................................................................... 6
Citez vos sources................................................................................................................ 6
Citations intgres au corps de texte ............................................................................. 6Styler ......................................................................................................... 6
Styler avec plusieurs images darrire-plan .................................... 6
Pour conclure.............................................................................................................................. 7
5 Formulaires ................................................................................................................................ 7
Quelles sont nos options pour baliser un formulaire ? ............................................ 7
Mthode A : utiliser un tableau ...................................................................................... 7
Mthode B : sans tableau, mais un peu ltroit ....................................................... 7
Mthode C : simple et plus accessible.......................................................................... 7
Mthode D : dnir un formulaire................................................................................. 7
En rsum .................................................................................................................................... 8
Pour aller plus loin ................................................................................................................... 8
Le fabuleux attribut tabindex.......................................................................................... 8
accesskeypour les formulaires frquents................................................................... 8
Appliquer des styles aux formulaires............................................................................ 8
Y a-t-il un focus dans la salle ? ...................................................................................... 9
6 , et autres lments de structuration des phrases .. 7Prsentation contre structure .............................................................................................. 9
Pourquoi et sont-ils meilleurs que et ?....................... 9
Quen est-il de ? .................................................................................................... 9
Juste du gras ou de litalique, sil vous plat ............................................................... 9
Du gras et de litalique...................................................................................................... 9
En rsum .................................................................................................................................... 10
Pour aller plus loin ................................................................................................................... 10
Les lments de phrase ..................................................................................................... 10Conception de ....................................................................................................... 10
et ..................................................................................................... 10
................................................................................................................................. 10
8/3/2019 Bonnes Pratiques Des Standards Du Web
9/325
VIII Bonnes pratiques des standards du Web
................................................................................................................................ 10
................................................................................................................................. 10
................................................................................................................................. 10
Les microformats ...................................................................................................................... 10
Une nouvelle pousse ......................................................................................................... 10Une explication simple ..................................................................................................... 11Un exemple de hCard........................................................................................................ 11
Pour conclure.............................................................................................................................. 11
7 Ancres............................................................................................................................................ 11
Quel est le meilleur moyen de baliser une ancre pour pointervers une portion spcique dune page ? ....................................................................... 11
Mthode A : un nom vide ................................................................................................ 11
Mthode B : tout est dans le nom .................................................................................. 11Mthode C : joublierai ton nom.................................................................................... 11Mthode D : la solution tout en un ................................................................................ 12
En rsum .................................................................................................................................... 12
Pour aller plus loin ................................................................................................................... 12
Lattribut title ...................................................................................................................... 12
Styler les liens..................................................................................................................... 12
Levez lancre ! ............................................................................................................................ 13
8 Encore des listes..................................................................................................................... 13Quelle est la meilleure manire de baliser une liste numrote ?........................ 13
Mthode A : lordre dans le dsordre ........................................................................... 13
Mthode B : une liste ordonne...................................................................................... 13
Quelle est la meilleure manire de baliser un ensemble de termeset de descriptions ? ................................................................................................................... 14
Mthode A ........................................................................................................................... 14
Mthode B ........................................................................................................................... 14
En rsum .................................................................................................................................... 14
Pour aller plus loin ................................................................................................................... 14Identier les parties ........................................................................................................... 14Des numros personnaliss ............................................................................................. 14Ajouter les numros la CSS ......................................................................................... 14Rsultat................................................................................................................................. 14
Pour conclure.............................................................................................................................. 14
8/3/2019 Bonnes Pratiques Des Standards Du Web
10/325
IXTable des matires
9 Minimiser le balisage .......................................................................................................... 14
Comment minimiser le balisage lorsque nous crons des sites respectueuxdes standards web ? ................................................................................................................. 14
Slecteurs descendants ..................................................................................................... 15
Mthode A : abondance de classes ................................................................................ 15Mthode B : slection naturelle...................................................................................... 15
Le superu.............................................................................................................. 15
Mthode A : en ...................................................................................................... 15
Mthode B : sans ................................................................................................... 15
Autres exemples ................................................................................................................. 15
En rsum .................................................................................................................................... 15
Pour aller plus loin ................................................................................................................... 15
Le balisage brut .................................................................................................................. 15Avoir du style ...................................................................................................................... 15
Puces personnalises ......................................................................................................... 15
Ajouter une bordure .......................................................................................................... 16
Pour conclure.............................................................................................................................. 16
10 Le Document Object Model ou DOM ...................................................................... 16
D pour document ...................................................................................................................... 16
Objets du dsir ........................................................................................................................... 16
Pour accder au modle, tapez M...................................................................................... 16Nuds ................................................................................................................................. 16
getElementById................................................................................................................... 17
getElementsByTagName ................................................................................................... 17
Pour faire le point ..................................................................................................................... 17
getAttribute.......................................................................................................................... 17
setAttribute........................................................................................................................... 17
Et si on parlait contenu ?....................................................................................................... 17
Identier le type dun nud : nodeType....................................................................... 17Obtenir plus dinformations sur un nud : nodeName et nodeValue ................... 17
Ajoutons quelques courses .............................................................................................. 18
Pour conclure ............................................................................................................................. 18
8/3/2019 Bonnes Pratiques Des Standards Du Web
11/325
X Bonnes pratiques des standards du Web
Partie II Styler en toute simplicit
11 Appliquer des CSS ................................................................................................................. 18
Comment appliquer des CSS un document ? ........................................................... 18
Mthode A : llment ...................................................................................... 18
Mthode B : feuille de style externe ............................................................................. 18
Mthode C :@import....................................................................................................... 18
Combiner B et C pour des feuilles de style multiples .............................................. 19
Styles "lo-" et "hi-" ....................................................................................................... 19
Adopter la cascade............................................................................................................. 19
Mthode D : styles intgrs au balisage ....................................................................... 19
En rsum .................................................................................................................................... 19
Pour aller plus loin ................................................................................................................... 19Styles alternatifs ................................................................................................................. 19
Styles de rinitialisation ................................................................................................... 20
Styles utilisateurs ............................................................................................................... 20
Pour conclure.............................................................................................................................. 20
12 Styles pour limpression..................................................................................................... 20
Comment spcier des styles pour limpression ? ..................................................... 20
Types de mdias ................................................................................................................. 20
Deux manires de cibler................................................................................................... 20
Mthode A : lattribut media........................................................................................... 20
Mthode B :@media ou @import................................................................................. 20
Les valeurs multiples sont autorises............................................................................ 20
Sparer les styles pour lcran et pour limpression ................................................. 20
Crer une feuille de style dimpression ........................................................................ 20
En rsum .................................................................................................................................... 21
13 Mise en page avec les CSS............................................................................................... 21Comment utiliser les CSS pour crer une mise en page sur deux colonnes ? 21
Mthode A : faire otter la barre latrale..................................................................... 21
Mthode B : le double ottement .................................................................................. 22
Mthode C : faire otter le contenu .............................................................................. 22
Mthode D : positionnement........................................................................................... 22
8/3/2019 Bonnes Pratiques Des Standards Du Web
12/325
XTable des matires
En rsum .................................................................................................................................... 23
Pour aller plus loin ................................................................................................................... 23
Le problme du modle de botes .................................................................................. 23
Des colonnes factices ........................................................................................................ 23
Pour conclure.............................................................................................................................. 24
14 Styler du texte ......................................................................................................................... 24
Comment donner un peu dallure un hypertexte ?................................................ 24
Police ! ................................................................................................................................. 24
Interligne : la hauteur entre deux lignes ....................................................................... 24
Toute la famille ................................................................................................................... 24
Crnage : lespace entre les lettres ................................................................................ 24
Lettrines ................................................................................................................................ 24Alignement du texte .......................................................................................................... 24
Transformer le texte .......................................................................................................... 24
Petites capitales .................................................................................................................. 25
Indentation de paragraphe................................................................................................ 25
Contraste .............................................................................................................................. 25
En rsum .................................................................................................................................... 25
15 Remplacement de texte par des images ............................................................... 25Comment utiliser les CSS pour remplacer du texte par des images ? .............. 25
Aucune solution nest parfaite ........................................................................................ 25
utiliser, mais avec modration .................................................................................... 25
Mthode A : Fahrner Image Replacement (FIR) ....................................................... 25
Le balisage........................................................................................................................... 25
La CSS ................................................................................................................................. 25
Avantages ............................................................................................................................. 25
Inconvnients ...................................................................................................................... 25Peser le pour et le contre .................................................................................................. 25
Mthode B : Leahy/Langridge Image Replacement (LIR) .................................... 26
Le balisage et la CSS ........................................................................................................ 26
8/3/2019 Bonnes Pratiques Des Standards Du Web
13/325
XII Bonnes pratiques des standards du Web
Ajuster le modle de botes ............................................................................................. 26
Inconvnients ...................................................................................................................... 26
Mthode C : la mthode Phark........................................................................................... 26
Le balisage et la CSS ........................................................................................................ 26
Une solution encore imparfaite ...................................................................................... 26
Mthode D : sIFR ..................................................................................................................... 26
En rsum .................................................................................................................................... 26
Pour aller plus loin ................................................................................................................... 26
Logos interchangeables .................................................................................................... 26
Onglets base dimages, effet de survol et accessibles ........................................ 26
Pour conclure.............................................................................................................................. 27
16 Styler llment .................................................................................................... 27Deux colonnes et parfois trois.............................................................................................. 27
Structure du balisage et du style..................................................................................... 27
Ce a la class ........................................................................................................ 27
Pas seulement pour les colonnes.................................................................................... 27
"Vous tes ici" ............................................................................................................................ 28
La liste de navigation ........................................................................................................ 28
Identier les parties ........................................................................................................... 28
La CSS magique................................................................................................................. 28
En rsum .................................................................................................................................... 28
17 Pour aller encore plus loin .............................................................................................. 28
O aller maintenant ? ............................................................................................................. 28
Organisations et publications .......................................................................................... 28
Blogs inuents et sources dinspiration ....................................................................... 28
Livres ................................................................................................................................. 29
En guise dadieu ........................................................................................................................ 29
Index .............................................................................................................................................. 29
8/3/2019 Bonnes Pratiques Des Standards Du Web
14/325
Dan Cederholm est concepteur de sites web, auteur de livres et fondateur de SimpleBitoute petite agence web.
Expert reconnu dans le domaine de la conception de sites web respectueux des standardDan a travaill avec, entre autres, Google, MTV, ESPN, Fast Company, Blogger, Yahoo!,collabore avec Happy Cog sur des projets choisis. Dans les travaux quil ralise pour sclients, dans ses crits et ses interventions, il dfend des interfaces souples et adaptablerespectueuses des standards web.
Dan est lauteur de deux succs de librairie : Bulletproof Web Design, 2nd ed., New Ride2007 et Web Standards Solutions, Apress/Friends of ED, 2004. Dan tient galement un bl
populaire o il rdige des articles et analyses sur le Web, les technologies et la vie. Et il josacrment bien de lukull.
Il vit Salem, dans le Massachusetts, avec son pouse, Kerry, et leurs deux enfants, Jack Tenley.
propos de lauteur
8/3/2019 Bonnes Pratiques Des Standards Du Web
15/325
8/3/2019 Bonnes Pratiques Des Standards Du Web
16/325
Je suis profondment reconnaissant envers toutes les personnes qui ont permis ce livre dvoir le jour :
Chris Mills, pour avoir soutenu ce projet depuis le dpart, pour mavoir guid et poavoir fait en sorte que lensemble prenne forme ;
Drew McLellan, pour ses excellents conseils et son travail acharn, ainsi que MaHeerema pour son immense travail sur cette dition ;
Jeffrey Zeldman, sans qui je naurais pas crit ce livre et qui a fait plus que nimporqui pour les standards web ;
Douglas Bowman, pour avoir fourni linspiration que procurent ses interfaces impecables et pour avoir dmontr que la mise en page par CSS peut merveilleusemerussir sur de grands sites commerciaux ;
Dave Shea, pour avoir cultiv le jardin et montr que les interfaces bases sur les CSpeuvent faire peu prs tout ce que lon peut en souhaiter ;
Jason Kottke, pour avoir pos LA question (ltincelle) ;
les lecteurs de SimpleBits, pour avoir suscit de prcieuses discussions qui ont fait germlide de cet ouvrage ;
Eric Meyer, Christopher Schmitt, Tantek elik, Molly Holzschlag, Todd DomineMike Davidson, Ryan Carver, Dan Rubin, D. Keith Robinson, Mark Pilgrim, Joe Clar
Craig Saila, Nick Finck, Owen Briggs, Simon Willison, Ian Lloyd, Dan Benjamin et tadautres, dont les efforts en ligne et hors ligne, au sein de la communaut des standarweb, ont aid des milliers de gens comme moi ;
les membres du Web Standards Project, dont les enseignements continuent bnciaux concepteurs et dveloppeurs de sites web partout dans le monde ;
les anciens collgues de mon quipe web chez Fast Company et Inc. particuliremeRob Roesler, qui ma offert une formidable opportunit et un grand soutien ; David Season, que jai appris connatre mieux quil ne le saura jamais ; idem pour Bob JoyaPaul Maiorana, pour avoir support mon obsession pour Journey ; Daigo Fujiwara ; PaCabana ; Nick Colletta ; Heath Row ; Irina Lodkin ; Carole Matthews ; Becca Rees
Alex Ashton ; Peter Wilkinson et Linda Tischler pour mavoir fait entrer chez FC ; mafamilleetmesamiset,avanttout,monpouse,Kerry,poursonsoutieninconditionne
et vous, lecteurs de ce livre.
Les ditions Pearson tiennent galement remercier Sandrine Burriel et Bruno Sbarte poleur travail dadaptation, ainsi que Monique Brunel pour sa contribution ldition franaide louvrage.
Remerciements
8/3/2019 Bonnes Pratiques Des Standards Du Web
17/325
8/3/2019 Bonnes Pratiques Des Standards Du Web
18/325
Vous avez entre les mains un livre de recettes. Avec des exemples clairs et sans discousuperu, Dan Cederholm montre comment mettre en application les standards web pocrer des interfaces lgantes, lgres et accessibles tous.
Dan ne cherche pas vendre la conception de sites web respectueux des standards dupoint de vue commercial ou cratif. Dautres (hum) sen sont dj chargs. Et franchemesi vous avez pris la peine de feuilleter cet ouvrage, vous tes certainement dj convaincdes bnces que procure le respect des standards en termes daccessibilit, de longvit de rsultats commerciaux. Nul besoin dune synthse de plus ou dun argumentaire commercial : ce quil vous faut, cest une vision pratique des composants, qui "met les mai
dans le cambouis", et cest exactement ce que propose ce livre.Dans un style pragmatique et naturel ce style que lon retrouve sur les bons sites web Dan examine les lments universels des sites web tels que la division des pages et la navigtion. laide dune mthode pdagogique quil a mise au point chez SimpleBits.com, Daexplique la faon dont les standards web facilitent la cration de ces composants universeleur modication lorsque votre chef ou votre client demande des changements de derniminute et, surtout, leur utilisation.
Voici un exemple simple illustrant comment fonctionne ce livre et pourquoi vous ny perdrni votre temps, ni votre argent :
Le site que vous tes en train de concevoir ncessite une mise en page sur trois colonnes poles pages principales daccueil et une mise en page sur deux colonnes pour les pages internde contenu. Lapproche classique consiste crer deux tableaux HTML de mise en formsans aucun rapport entre eux, destins servir de modles principaux. Lapproche modernrecommande par le World Wide Web Consortium (W3C) et utilise par les concepteurespectueux des standards, consiste structurer le contenu laide dun balisage smantiqXHTML minimal et faire appel aux feuilles de style (Cascading Style Sheets ou CSS) pola mise en forme.
En tant que concepteur expriment de sites web, vous supposez naturellement que voaurez crer deux modles XHTML diffrents et deux feuilles de style diffrentes pognrer vos deux mises en page, deux et trois colonnes. Mais, comme lillustre ce livrune unique structure XHTML et une unique feuille de style permettent de crer ces deumodles. Basculer dune mise en page lautre est aussi simple que dappliquer un attribclass la balise .
Ce livre est rempli dides pertinentes et de mthodes telles que celle-ci des mthodqui peuvent amliorer votre productivit et simplier votre travail tout en stimulant vot
Avant-propos
8/3/2019 Bonnes Pratiques Des Standards Du Web
19/325
XVIII Bonnes pratiques des standards du Web
crativit. Certaines ont t inventes par Dan lui-mme ; dautres proviennent dun corpmergent de bonnes pratiques modernes, dvelopp par lavant-garde des concepteurs dsites web respectueux des standards. Vous devez les connatre. Et la meilleure manire de lmatriser est justement entre vos mains. Amusez-vous bien.
Jeffrey Zeldman, auteur deDesigning with Web Standard
8/3/2019 Bonnes Pratiques Des Standards Du Web
20/325
Bienvenue dans ce livre de Bonnes pratiques des standards du Web. Pourquoi avons-nousbesoin dun tel ouvrage en 2010 ? Aujourdhui, il existe une telle varit de navigateurs,de supports de consultation des pages web, de besoins utilisateurs satisfaire, que seul lerespect des standards peut vous assurer de toucher une audience large. La plupart des navi-gateurs actuels ont mis laccent sur le respect des standards, et cest une excellente chose. Endautres termes, vous avez aujourdhui de meilleures garanties de cohrence du rendu de voscontenus dun navigateur lautre condition que ces contenus eux-mmes respectentles standards !
Ce livre est conu pour vous donner des billes, de quoi apporter des solutions respectueusesdes standards web vos propres projets et vous permettre de faire de meilleurs choix entermes de balisage et de styles. Dans chaque chapitre, nous comparerons diverses mthodescourantes de conception web, en essayant didentier pourquoi lune peut tre meilleure quelautre. En analysant ces comparaisons, nous serons mme dappliquer dans nos propresprojets loutil le mieux adapt la tche requise.
Mais, tout dabord, nous devons nous assurer que nous sommes sur la mme longueurdonde : ce livre est rempli dacronymes, de blocs de code et de concepts qui vous sont peut-tre trangers. Commenons par parler des standards web.
Que sont les standards web ?Selon les termes mme du World Wide Web Consortium (www.w3.org/Consortium/) :
"Le World Wide Web Consortium a vu le jour en octobre 1994 pour amener le World Wide Web raliser
tout son potentiel en dveloppant des protocoles communs destins promouvoir son volution et
garantir son interoprabilit. Le W3C compte environ 400 organisations membres dans le monde
entier et a gagn une reconnaissance internationale pour ses contributions la croissance du Web."
Fond par Tim Berners-Lee, le W3C est responsable des spcications des standards webqui constituent le Web daujourdhui. Bien que les standards recouvrent des technologies et
langages divers, leur utilisation et surtout leur mise en application passe dabord par unebonne approche du HTML (HyperText Markup Language) et donc par la structuration desdocuments. En ce sens, ceux-ci se doivent dtre valides, structurs, smantiques (nous ver-rons un peu plus loin dans cette introduction ce que recouvre cette notion) et surtout exemptsdlments superus ou inappropris.
Lensemble des standards, loin dtre limit au seul HTML, prsente dautres composantesqui ne viennent que renforcer cette rgle. Les recommandations WCAG (Web ContenAccessibility Guidelines ) visent rendre les contenus accessibles au plus grand nombre et ne
Introduction
8/3/2019 Bonnes Pratiques Des Standards Du Web
21/325
2 Bonnes pratiques des standards du Web
tolrent que faiblement un mauvais balisage. Le XML (eXtensible Markup Language) pemet de baliser linformation avec une granularit plus ne encore et requiert donc structuet prcision en matire de balisage. Le format RDF (Resource Description Framework) eune dclinaison possible du XML. Le protocole HTTP (HyperText Transfer Protocol) nomalise les changes entre clients et serveur, notamment pour lutilisation dAjax (Asynchrnous JavaScript And XML). En matire de scripts, lutilisation du DOM (Document ObjeModel) ncessite de sappuyer sur un balisage (HTML ou XML) robuste et structur. Pola mise en forme des contenus, lusage des feuilles de styles CSS (Cascading Style Sheeou XSL (eXtensible Stylesheet Language) requiert l encore cohrence et structuration danos contenus.
Lobjectif premier de cet ouvrage est de vous apprendre structurer correctement vos informtions. Dans cette optique, nous nous focaliserons principalement sur deux de ces standards
1. Dune part, le langage eXtensible HyperText Markup Language (XHTML) ou langade balisage hypertexte extensible, qui combine la smantique du HTML 4.01 et la sy
taxe du XML. Cest lobjet de la premire partie du livre, qui se conclut sur un chapitdouverture consacre auDocument Object Model (DOM).
2. Dautre part, les Cascading Styles Sheets (CSS) ou feuilles de style en cascade, que noexploiterons pour appliquer des styles au contenu des pages web et mettre en videnltroite relation que lon peut avoir entre structure et mise en forme. Utilises titdillustration dans toute la premire partie de ce livre, elles constituent le cur de seconde partie.
Pourquoi les standards web ?
Hier, je suis all acheter des stores pour mes fentres. Jai mesur la fentre, je suis all amagasin, jai pris dans le rayon un store de 80 cm de large et je lai ramen la maison :correspondait parfaitement.
Lanne dernire, mon pouse et moi avons achet un nouveau lave-vaisselle. Nous avoretir lancien de son emplacement et en avons command un nouveau. Lorsque le nouvemodle est arriv, il sadaptait parfaitement.
Jessaie simplement de dmontrer ici quelque chose : les travaux de rnovation intrieusont facilits par les standards. Quelquun comme moi peut se rendre dans le premier magsin venu, acheter un tuyau dvacuation et celui-ci devrait, selon toute probabilit, conven la perfection. Je peux aussi acheter une nouvelle poigne de porte et, neuf fois sur dix, e
sera adapte la porte sans quil soit besoin de modications majeures.
Des mesures standard prdtermines facilitent la vie des gens qui travaillent sur la constrution et la maintenance des maisons. Lorsque le nouveau propritaire dun logement souhale rnover ou lentretenir, les standards facilitent les rparations et les amliorations.
Cela na, naturellement, pas toujours t le cas. Les maisons construites avant le e sicne respectaient pas toutes les standards. Nallez pas croire que les maisons construites sa
8/3/2019 Bonnes Pratiques Des Standards Du Web
22/325
Introduction
respecter les standards taient dfectueuses : simplement, leur rparation, leur rnovation leur maintenance demandaient davantage de travail.
Souvent, les gens achtent de vieilles maisons pour les rnover. Une fois les gros travaux rnovation termins, le propritaire peut proter des standards de mesure pour en facilit
lentretien.Ce livre ne traite pas des maisons. Pourtant, lanalogie prcdente peut sappliquer au Wesi nous respectons les standards dans nos pages web, il devient nettement plus simple de lmaintenir. Vos collgues concepteurs et dveloppeurs de sites web pourront dautant plfacilement se plonger dans les pages et comprendre comment elles sont structures et style
Historiquement, les concepteurs et dveloppeurs se sont reposs sur une accumulation balises pour parvenir aux interfaces qui, aujourdhui encore, inondent le Web. Des anndurant, la norme a consist imbriquer des tables sur trois niveaux de profondeur, tout en ulisant des images GIF transparentes pour obtenir une mise en page prcise au pixel prs. Madu fait que la prise en charge des standards sest amliore dans les navigateurs populaires,
capacit combiner un balisage minimal et structur avec des feuilles de style CSS a atteun seuil au niveau duquel respecter les standards nest plus synonyme dinterface ennuyeu
La tendance saccentue et ceux qui sont aujourdhui conscients des avantages que reprsentent les standards web auront une longueur davance sur le reste de la communaut dconcepteurs et dveloppeurs de sites web. Cest ainsi que les choses vont voluer.
Comprendre et exploiter les standards web engendre les bnces suivants :
Rduction du balisage. Moins de code signie des pages plus rapides charger. Moide code signie aussi une mobilisation moindre des capacits du serveur, ce qui sotour se traduit par des conomies ralises sur lespace disque et la bande passante.
Augmentation de la sparation entre contenu et prsentation. Utiliser les feuillde style CSS pour contrler lapparence dun site facilite les mises jour et les chagements dapparence du site. On peut modier instantanment lensemble du site mettant jour une unique feuille de style.
Amlioration de laccessibilit. Les standards web nous permettent de toucher le plgrand nombre possible de navigateurs et de priphriques. Les contenus peuvent facilment tre lus dans tout navigateur, tlphone, ordinateur de poche, ou par les internaututilisant des logiciels dadaptation.
Garantie de compatibilit descendante. Crer des pages respectant les standards wgarantit quelles resteront lisibles dans le futur.
Nimporte lequel de ces bnces constitue une raison sufsante de respecter les standarweb. Cet ouvrage vous montrera comment vous dbarrasser de vos mauvaises habitudesvous fournira des astuces et techniques pour crer des interfaces agrables et respectueusdes standards.
8/3/2019 Bonnes Pratiques Des Standards Du Web
23/325
4 Bonnes pratiques des standards du Web
Pourquoi XHTML ?Les exemples de balisage de ce livre sont rdigs en XHTML ou eXtensible HyperTeMarkup Language. Techniquement parlant, XHTML est la reformulation de HTML 4 XML. Quest-ce que cela signie ? Eh bien, vous connaissez dj HTML, nest-ce pas
XHTML est identique, avec quelques rgles en plus.Citons, l encore, le W3C (www.w3.org/TR/xhtml1/#xhtml) :
"La amille XHTML constitue ltape suivante dans lvolution dInternet. En migrant ds aujourdhui ver
XHTML, les dveloppeurs de contenus peuvent entrer dans le monde du XML avec tous les bnfces
quil reprsente, tout en restant confants dans la compatibilit ascendante et descendante de leurs
contenus."
La compatibilit descendante est un bon point de dpart. En crant aujourdhui des pagweb au moyen du XHTML, nous prenons des mesures qui garantissent que ces pages fontionneront avec les navigateurs et priphriques de demain.
HTML ou XHTML ?La logique nous encourage toujours utiliser la dernire version du langade balisage pour nos documents. Ctait par exemple le cas avec XHTML 1.0, que lon prr
au HTML 4.01. La logique est une chose, mais le contexte, les prrences personnelles, les cho
technologiques dentreprise peuvent intervenir dans ce choix qui ne peut donc aire lobjet du
rponse erme et absolue.
Nous le martelons depuis le dbut de cette introduction et nous le rpterons encore tout au lo
de cet ouvrage : la structuration des contenus est un aspect essentiel de leur production. Le langa
de balisage HTML, dans ses direntes versions, nous a apport cet eet son lot de botes et
compartiments pour ranger nos contenus. Mais ce langage, cr il y a plus de dix ans, sest essouet ntait plus en mesure de proposer toutes les structures ncessaires pour rpondre aux besoins
nos applications web modernes. Ce sont ces aiblesses et une bonne dose de rexion qui ont don
le jour une ormidable association entre HTML et smantique qui, complte par les microorma
(voir ce sujet le Chapitre 6), permet dafner le rle des contenus dans le document.
Le W3C a tent daller encore plus loin dans le caractre applicati des contenus, en combinant HT
et XML pour crer le XHTML. Lavantage immdiat de cette nouvelle mouture est dimposer une p
grande rigueur dans lcriture du balisage, mais elle ait aussi intervenir des volutions plus complex
dans leurs eets et dans leur mise en uvre. Le lecteur intress par ce sujet pourra se rrer av
proft la spcifcation du W3C relative aux types de mdias XHTML, disponible ladresse http
www.w3.org/TR/xhtml-media-types/.
Au cours de lt 2009, le W3C a ofciellement annonc HTML5/XHTML5 comme prochaine versi
du standard de balisage. Issu des travaux du WHATWG (groupe non ofciel regroupant des diteu
et dveloppeurs de navigateurs web), HTML5 vise garantir la compatibilit avec les versio
antrieures de HTML tout en amliorant son adhrence au Web, ses volutions et ses besoins.
certains navigateurs commencent travailler lintgration de cette nouvelle version, elle na p
encore atteint le statut de spcifcation ofcielle publie par le W3C. Le balisage HTML 4.01 o
XHTML 1.0 a donc encore de beaux jours devant lui.
8/3/2019 Bonnes Pratiques Des Standards Du Web
24/325
Introduction
XHTML est galement conu pour tre lisible par le plus grand nombre de navigateurs, pphriques et logiciels. Un balisage rdig en XHTML a plus de chances dtre correctemecompris, quel que soit loutil qui le lit.
Mais il y a des rgles.
Dans le monde du XHTML, il existe des rgles plus strictes dnissant ce quest un balisavalide. Toutes les balises et tous les attributs doivent tre en minuscules ; les attributs doivetre encadrs par des guillemets doubles ; enn, toute balise ouvrante doit correspondune balise fermante. Ce ne sont que quelques-unes des rgles hrites du XML. Mais crgles sont une bonne chose pour vous.
En plus dassurer la compatibilit future, les concepteurs et dveloppeurs de sites welorsquils adhrent aux rgles plus strictes gouvernant le XHTML correct et valide, peuveplus facilement dboguer leur code (ce qui est particulirement pratique lorsque plusieupersonnes travaillent sur le mme balisage) et produisent des pages web qui auront plus chances dtre correctement rendues sur les navigateurs comprenant aussi les standard
Tout au long de cet ouvrage, nous utiliserons XHTML pour tous nos exemples.
Balisage structurVous mentendrez recourir abondamment au mot "smantique" tout au long de ce livre. serai aussi amen utiliser le terme "balisage structur". Ces deux expressions sont intechangeables. Lorsque je parle de smantique, je sous-entends que nous essayons dutiser des balises impliquant une signication, plutt quune instruction de prsentation. Vodevez prsenter une liste dlments ? Alors balisez-la comme telle. Sagit-il dun tablede donnes ? Alors structurez-le ainsi.
En structurant les pages web laide dun balisage smantique, nous nous rapprochoencore de la sparation du contenu par rapport la prsentation et nos pages auront plus chances dtre correctement comprises de la manire dont vous voulez les voir compris par un ventail plus large de navigateurs et de priphriques.
Comme je lai mentionn prcdemment, historiquement, les concepteurs de sites web sont reposs sur limbrication de tableaux et des lments graphiques despacement poparvenir des prsentations prcises au pixel prs. Llment servait positionntous les composants dune page web, ajoutant une quantit incroyable de code inutile saparler des pages rsultantes, quasiment illisibles pour les utilisateurs faisant appel un navgateur en mode texte, un priphrique petit cran ou un logiciel dassistance. Ces bourso
ures inutiles touffaient (et cest encore le cas aujourdhui) le Web.Tout au long des chapitres de ce livre, je vais expliquer la manire dont le balisage smatique rend les pages plus lgres, plus accessibles et plus faciles mettre en forme laides CSS.
8/3/2019 Bonnes Pratiques Des Standards Du Web
25/325
6 Bonnes pratiques des standards du Web
Origines de ce livreTout a commenc de manire assez innocente. Javais souhait proposer un simple quiz smon site web personnel. Une question choix multiples, pour laquelle chacune des rponsconduisait des rsultats identiques ou similaires. Pourquoi une mthode est-elle meilleu
quune autre ? Ctait la vraie rponse ma question.Lobjectif de ce quiz tait de montrer le pour et le contre de chaque mthode, en notaque mme des mthodes multiples conduisant un balisage valide ntaient pas forcmetoujours les meilleures solutions. Les lecteurs pouvaient rpondre et laisser leurs commetaires, et cest par le biais de cette discussion que sont arrives les billes dont je parlais peu plus tt. Si nous pouvons comprendre pourquoi il est ncessaire dutiliser des en-ttes dpages et des listes correctes, nous pouvons alors enregistrer ces informations et les appliqudans nos projets quotidiens.
Il est galement important de mentionner que je ne cherche pas imposer une uniqmthode pour baliser tel ou tel composant dune page : comme tout aspect de la conceptio
de sites web, il existe plusieurs mthodes permettant darriver un rsultat identique proche. Utilisez ce qui convient le mieux la tche que vous avez accomplir : cependanen comprenant les avantages et inconvnients de chaque mthode, vous pouvez faire meilleurs choix le moment venu.
Format de louvrageCe livre est constitu de deux parties : la premire traite les sujets relatifs au balisage, seconde aborde les CSS. Chaque chapitre rpond une question donne, souvent en prsentant plusieurs mthodes permettant daboutir au mme rsultat. Nous tudierons atten
vement chaque mthode en analysant ses avantages et inconvnients. la n de nombrechapitres gurent des sections Pour aller plus loin qui approfondissent le sujet du chapiten abordant le balisage et les CSS avancs.
Code source des exemplesLes chiers des exemples de code sont disponibles depuis le site web Pearson (www.peason.fr), en suivant le lien Code source sur la page ddie ce livre.
Jespre que vous lapprcierez : maintenant, allons-y !
8/3/2019 Bonnes Pratiques Des Standards Du Web
26/325
Partie
Se faire plaisiravec le balisage
I
Chapitre 1 : Listes
Chapitre 2 : Titres
Chapitre 3 : Les tableaux sont-ils lincarnation du Mal ?
Chapitre 4 : Citations
Chapitre 5 : Formulaires
Chapitre 6 : , et autres lments de structurationdes phrases
Chapitre 7 : Ancres
Chapitre 8 : Encore des listes
Chapitre 9 : Minimiser le balisage
Chapitre 10 : LeDocument Object Model ou DOM
8/3/2019 Bonnes Pratiques Des Standards Du Web
27/325
8/3/2019 Bonnes Pratiques Des Standards Du Web
28/325
Les listes On en trouve dans peu prs nimporte quelle page web. Des listes de liens, dlistes darticles dans un panier de courses, des listes de lms prfrs et mme des listpour la navigation au sein dun site. Mme si cela peut sembler arbitraire certains, cestmanire de baliser ces listes que nous allons explorer ici, an de dcouvrir les avantages (les inconvnients) de quelques mthodes courantes. Plus tard, nous mettrons ces avantag lpreuve dans divers exemples de mise en forme dune liste ordinaire.
Allons en courses
Initialement, je voulais utiliser une liste rouge comme exemple pour ce chapitre, mais jrapidement ralis que ce nest pas vraiment le genre de liste publier ! Alors, pour cexemple, ce sera une liste de courses
Imaginons que vous deviez baliser une simple liste de courses pour lintgrer votre sweb personnel. Vous pouvez vous demander ce que vient faire une telle liste sur un site wemais ce nest pas important ici. Nous avons simplement besoin dune raison pour commenc rchir aux listes.
Mettons que, sur la page, nous voulons que la liste ressemble une liste, cest--dire unsuite verticale dlments, chacun plac sur sa ligne propre :
Pommes
Spaghettis
Haricots verts
Lait
Voil une tche qui parat plutt simple, non ? Eh bien, comme pour toutes les autres facettdu dveloppement et de la conception de sites web, il existe diffrentes manires daboder le problme pour arriver un rsultat identique ou comparable. Comme pour tous lexemples cits dans cet ouvrage, je prsenterai les choses dun point de vue XHTML (acrnyme de eXtensible HyperTextMarkup Language), en massurant que les mthodes chosies constituent un balisage valide et quelles adhrent aux standards rdigs par le Wor
Wide Web Consortium (W3C, www.w3.org).Nous pourrions ajouter
tout simplement une balise
aprs chaque lment et noarrter l. Nous pouvons aussi exploiter
diffrents lments de type liste pour parvenir arsultat souhait.
tudions trois possibilits diffrentes et les consquences lies
lemplde chacune delles.
1Listes
8/3/2019 Bonnes Pratiques Des Standards Du Web
29/325
10 Se faire plaisir avec le balisage
Cest lheure du quizQuelle est, parmi les solutions suivantes, la meilleure pour baliser une liste de courses ?
Mthode A : le saut de ligne
Pommes
Spaghettis
Haricots verts
Lait
La mthode A est assurment en vigueur, depuis des annes et de
manire intensive, sun nombre de pages web qui doit se chiffrer en
millions. En fait, je suis certain que nosommes tous coupables
davoir recouru cette approche un moment ou un autre. Je mtrompe ?
Nous voulons que chaque lment de la liste se trouve sur sa propre
ligne et, en insrant un saut de ligne (ici au moyen de la version
XHTML valide et autofermante,
nous revenons la ligne aprs chaque lment. Cest peu prs tout leffet produit, et cesemble fonctionner.
Que se passerait-il toutefois si nous souhaitions appliquer la liste de courses un stydiffrent des autres lments de la page ? Si, par exemple, nous voulions que les lmende cette liste aient des liens en rouge au lieu de la couleur bleue par dfaut, ou une tailde police diffrente du reste du texte ? Nous ne pouvons pas vraiment y faire grand-chosNous sommes coincs avec les styles par dfaut que nous avons dnis pour le documedans son ensemble (si toutefois nous en avons dnis) et, vu quil ny a aucune balise encdrant les lments de la liste, nous ne pouvons lui appliquer la moindre rgle CSS.
la ligne, toute !
Supposons galement que nous ayons ajout un lment particulirement long notre lisde courses : "Grosse baguette de pain de chez le boulanger". Suivant lendroit o apparacette liste dans la page, les lments trs longs risquent de se trouver rpartis sur plusieulignes si lespace horizontal est insufsant ou si la fentre du navigateur de lutilisateur etrop troite.
Il serait galement bien de prendre en compte lventualit des utilisateurs malvoyantqui augmentent la taille par dfaut du texte an de gagner en lisibilit. Les lments qunous le pensions, tiendraient parfaitement dans une colonne troite (comme la Figure 1.
sont dsormais parpills de manire imprvisible, comme la Figure 1.2. Tout leffort dconception est ruin lorsque lutilisateur augmente la taille du texte.
Figure 1.1Exemple avec la taille de texte
par daut.
8/3/2019 Bonnes Pratiques Des Standards Du Web
30/325
1Listes
Figure 1.2Le mme exemple, avec une
taille de texte plus grande.
Hum Maintenant, je sais que je suis cens acheter du pain, mais les deux lignes qui suive
cet lment dans la liste ne sont pas trs claires.Un problme similaire pointe le bout de son vilain nez lorsque lon afche des lignes logues sur le petit cran dun appareil tel quun tlphone portable ou un Blackberry. Ltechnophile ultime se promne peut-tre au supermarch avec son priphrique de poch la main plutt que la traditionnelle liste de courses sur papier, mais il nira quand mmpar errer sans but, recherchant dsesprment dans les alles "le boulanger" ramener maison.
Jessaie simplement ici de montrer que la mthode ne prend pas en compte un facteur essetiel : la uidit que peuvent avoir les pages web, suivant des variables que le concepteur la page ne contrle pas.
Mthode B : une puce qui nous fait tiquer
Pommes
Spaghettis
Haricots verts
Lait
Lorsque la balise est utilise, la plupart des navigateurs comptents insrent une pucegauche de chaque lment de la liste. On peut parvenir ce rsultat laide de la mthode en ajoutant tout seul ds que lon souhaite afcher une puce. Toutefois, certains de c
mmes navigateurs comptents refuseront dafcher la puce tant que llment nepas contenu dans lun de ses parents lgitimes, le puissant . Lautre parent de
8/3/2019 Bonnes Pratiques Des Standards Du Web
31/325
12 Se faire plaisir avec le balisage
La puce constitue, dans une certaine mesure, un apport rel au problme du retour la lignChaque nouvel lment de la liste de courses est signal par une puce qui gure sa gauchLorsquun lment est trop long pour tenir sur une seule ligne, labsence de puce au dbde la seconde ligne doit sufre distinguer ce retour la ligne intempestif dun nouvel lment part entire. Mais, malgr le rsultat dafchage, la mthode B pose un problmeelle nest pas valide.
Validation, SVP
Suivant les spcications XHTML 1.0 du W3C, toute balise ouvrante doit correspondune balise fermante. Par consquent, si nous ouvrons une balise pour chaque lmede la liste de courses sans la refermer correctement, comme dans cet exemple, honte nou
Nous avons simul le retour la ligne automatique, qui survient
lorsque lon utilise une lis puces, en ajoutant llment
en n de ligne. Mais il existe une meilleure solutio
Il est protable de shabituer lide dcrire systmatiquement un balisage valide. En no
assurant que notre balisage est valide, nous avons moins nous proccuper des ventueproblmes futurs causs par des balises non refermes ou mal imbriques. Sans comptque, si quelquun dautre doit intervenir sur notre code, il est beaucoup plus facile pour toles participants impliqus de se plonger dans le code et de comprendre exactement de quil retourne.
Assurez-vous dutiliser loutil de validation en ligne du W3C (http://validator.w3.orgpour contrler vos chiers par URI ou par transfert. Sur le long terme, vous ne pourrez qvous en fliciter.
Mthode C : on sapproche !PommesSpaghettisHaricots vertsLait
La mthode C nous rapproche encore un peu dune solution acceptable, mais choue lametablement sur un point potentiellement vident : ce nest toujours pas un balisage valide.
Nous avons referm chaque balise de manire approprie et, du fait
quil sagit dlments de niveau bloc, cela nous dispense dutiliser un
lment
: chaque lmeest dofce mis sur sa propre ligne. Il nous manque
nanmoins la couche externe de cet
structure, un lment conteneur qui indique : "Ce groupe dlments est une liste !"Il est galement important de voir cela sous un angle smantique : la liste est un groudlments qui vont ensemble et, par consquent, ils doivent tre identis comme tels. Dsurcrot, utiliser des balises de liste appropries indique trs clairement au navigateur, logciel ou priphrique : "Ce groupe dlments est une liste !" Cest un exemple qui dmontbien comment le balisage smantique structure les lments pour ce quils sont.
8/3/2019 Bonnes Pratiques Des Standards Du Web
32/325
1Listes
lments de niveau bloc et lments en ligne. Les lments HTML peuvent tre soit de nivebloc, soit de type en ligne. Les lments de niveau bloc dbutent sur leur propre ligne et sont sui
dun saut de ligne, tandis que les lments en ligne sont rendus sur la mme ligne que dautr
lments en ligne. Les lments de niveau bloc peuvent contenir dautres lments de niveau b
aussi bien que des lments en ligne, au contraire des lments en ligne qui peuvent conte
uniquement des lments de type en ligne.Parmi les lments de niveau bloc, on peut citer par exemple les balises , et
8/3/2019 Bonnes Pratiques Des Standards Du Web
33/325
14 Se faire plaisir avec le balisage
Quest-ce donc qui rend la mthode D si spciale ? Dabord et avant tout, le fait quelest totalement valide. Une liste puces correcte possde un conteneur et chacun ses lments est encadr par des balises ouvrante et fermante. Maintenant, juste moment o vous pensiez que notre objectif ici est uniquement de dmontrer comment tvalide pour le simple plaisir dtre valide, nous allons tudier cet exemple en action.
Comme nous avons correctement balis notre liste de courses, chaque lment apparat sune ligne distincte (du fait que la balise est de niveau bloc) et la plupart des navigateuvisuels ajouteront une puce devant chaque lment, en appliquant au texte un retrait en cde retour la ligne (voir Figure 1.3).
Figure 1.3Rendu par daut dune liste
puces.
Les utilisateurs de Blackberry, tlphones portables et autres priphriques petit crpourront galement afcher la liste de manire similaire et clairement organise. Commnous avons indiqu au priphrique ce que sont les donnes (en loccurrence, une liste),peut choisir la meilleure manire de les afcher en fonction de ses capacits.
Si un lment trop long doit faire lobjet dun retour la ligne, cause dune taille de textrop grande ou dune fentre de navigateur trop troite, les retours la ligne se verront appquer un retrait pour tre aligns avec le texte de la premire ligne. Les diffrents lments la liste seront donc parfaitement clairs et identiables, en toutes circonstances.
En rsumMaintenant que jai dissqu chacune des mthodes possibles, rsumons rapidement ce q
jai dcouvert sur chacune delles :
Mthode A :
Elle ne permet pas dappliquer une mise en forme spcique la liste.
Elle peut susciter la confusion lorsque des lments trop longs sont renvoys la ligndans une colonne troite ou un priphrique petit cran.
Elle manque de sens (au niveau smantique).
Mthode B :
Ajouter une puce aide signaler un nouvel lment, mais certains navigateurs peuverefuser de lafcher sans la prsence de la balise parent .
Labsence de conteneur ou de balise fermante se traduit par une difcu mettre en forme.
Elle nest pas valide.
8/3/2019 Bonnes Pratiques Des Standards Du Web
34/325
1Listes
Mthode C :
Utiliser la balise fermante pargne le besoin dlments
.
Oublier llment rend la mise en forme de cette liste particulire plus difcile.
Elle est invalide.
Mthode D :
Elle est valide ! Elle donne un sens au niveau smantique et une structure. Des puces safchent gauche de chaque lment dans la plupart des navigateurs. Sur la plupart des navigateurs, le retour la ligne fait lobjet dun retrait. Elle est plus facile mettre en forme individuellement laide de CSS.
Vous pouvez constater quil est possible dapprendre beaucoup dune question en appareninnocente. Mme si vous utilisez dj exclusivement la mthode D sur toutes vos page
il est bon de savoir pourquoi vous faites les choses de cette manire. Nous continueronsexplorer ces questions de type "pourquoi" tout au long de cet ouvrage, an de vous fourntoutes les munitions ncessaires pour faire le meilleur choix au bon moment.
Pour aller plus loinPour aller plus loin, jetons un il quelques mthodes diffrentes pour tirer parti de notliste de courses balise, en utilisant les CSS pour la mettre en forme de diffrentes manireNous nous dbarrasserons des mises en forme par dfaut et ajouterons des puces personalises, puis nous mettrons la liste " plat" pour vous donner quelques ides de barre navigation.
Dompter la puce
"Mais je dteste lallure des puces sur ma liste de courses, alors
je vais men tenir cbalises
."
Point nest besoin de revenir vos bonnes vieilles habitudes : nous pouvons continuerutiliser notre liste puces structure et laisser aux CSS le soin de supprimer les puces les retraits (si cest ce que vous recherchez). La cl ici est de conserver la liste son aspestructur et de laisser les CSS grer les dtails de prsentation.
Commenons par ajouter une rgle CSS qui dsactive les puces :
ul {list-style: none;}
dont vous pouvez observer le rsultat la Figure 1.4.
8/3/2019 Bonnes Pratiques Des Standards Du Web
35/325
16 Se faire plaisir avec le balisage
Figure 1.4Une liste o les puces
sont dsactives.
Dsactivons maintenant les retraits. Par dfaut, un espace plus ou moins large est ajoutla gauche de toute liste puces. Mais ne vous inquitez pas : nous pouvons le supprimernous le souhaitons :
ul {list-style: none;padding-let: 0;}
Le rsultat est visible la Figure 1.5.
Figure 1.5Une liste sans puce et avec
dsactivation des retraits.
Si lexemple de la Figure 1.5 semble avoir t balis laide de quelques lments
8/3/2019 Bonnes Pratiques Des Standards Du Web
36/325
1Listes
Pour contourner ce problme dalignement vertical soulev par list-style-image daquelques navigateurs populaires, je prfre recourir une mthode alternative qui consistednir limage comme arrire-plan pour chaque lment .
Commenons par dsactiver lutilisation des puces par dfaut, avant dajouter notre prop
image de fond :ul {
list-style: none;}
li {background: url(joliepuce.gif) no-repeat 0 50%;padding-left: 17px;}
no-repeat indique au navigateur quil ne doit pas afcher limage en mosaque (ce qui eson comportement par dfaut), tandis que les nombres 0 50% indiquent au navigateur
positionner larrire-plan 0 pixel de la gauche et 50 % du bord suprieur, ce qui revieessentiellement centrer verticalement joliepuce.gif. Nous aurions galement pu spcier des positionnements absolus, en pixels, pour les deux indications. 0 6px aurait potionn la puce 0 pixel du bord gauche et 6 pixels du bord suprieur.
Nous avons galement ajout un espace de 17 pixels gauche des lments de la liste, manire que notre image de 15 pixels de large sur 5 pixels de haut apparaisse compltemeet quil y ait un peu despace, sans le moindre recouvrement du texte. Cette valeur peut tajuste suivant la largeur de limage que vous utilisez en guise de puce (voir Figure 1.6).
Figure 1.6
Une liste avec des pucespersonnalises.
Des listes pour naviguer
Jai prsent sur mon site personnel (www.simplebits.com) quelques mthodes pour tranformer des listes puces en barres de navigation horizontale, ce qui permet de crer un effdonglets au moyen de code XHTML structur ordinaire, exactement comme notre liste courses dexemple.
Ici, par exemple, nous prendrons la liste des courses et nous la transformerons en barre navigation pour un supermarch en ligne (qui se trouve ne vendre que trs peu darticles)
8/3/2019 Bonnes Pratiques Des Standards Du Web
37/325
18 Se faire plaisir avec le balisage
Dans le cas prsent, nous voulons que la barre de navigation soit horizontale et quil y aun moyen effectif de surligner un lment lorsque la souris passe dessus ou quil est sletionn, ce qui cre leffet donglets.
Tout dabord, nous allons ajouter un attribut id notre liste an de pouvoir lui appliquer d
styles CSS spciques. Nous allons galement transformer chaque article de la liste en lie
PommesSpaghettisHaricots vertsLait
Crons maintenant la CSS daccompagnement :
#minionglets {margin: 0;padding: 0 0 20px 10px;border-bottom: 1px solid #696;}
#minionglets li {margin: 0;padding: 0;display: inline;list-style-type: none;}
Ici, jai essentiellement dsactiv les puces et le retrait par dfaut. Nous avons galememis en place la premire tape de transformation de la liste en la passant lhorizontalplutt qu la verticale, laide de lattribut display: inline (que lon peut traduire pafchage: en ligne). Nous avons aussi ajout une bordure infrieure an de mieux dnles groupes de liens.
La seconde tape de transformation consiste faire otter nos liens gauche. Nous allogalement styler quelque peu les hyperliens et ajouter des espacements et des marges.
#minionglets {margin: 0;padding: 0 0 20px 10px;border-bottom: 1px solid #696;}
#minionglets li {margin: 0;padding: 0;display: inline;list-style-type: none;}
#minionglets a {foat: let;
8/3/2019 Bonnes Pratiques Des Standards Du Web
38/325
1Listes
line-height: 14px;ont-weight: bold;margin: 0 10px 4px 10px;text-decoration: none;color: #9c9;}
Ici nous indiquons tous les lments a de notre liste de otter gauche (oat: left), qui les force saligner en rang horizontal. Nous avons galement ajout un peu de couleupass les liens en gras et dsactiv le soulignement.
Maintenant, crons une bordure de type onglet, sous les liens qui sont activs lorsque souris passe dessus ou lorsquils sont slectionns :
#minionglets {margin: 0;padding: 0 0 20px 10px;border-bottom: 1px solid #696;}
#minionglets li {margin: 0;padding: 0;display: inline;list-style-type: none;}
#minionglets a {oat: left;line-height: 14px;font-weight: bold;margin: 0 10px 4px 10px;text-decoration: none;
color: #9c9;}
#minionglets a.active, #minionglets a:hover {border-bottom: 4px solid #696;padding-bottom: 2px;color: #363;}
#minionglets a:hover {color: #696;}
Pour le surlignage et le survol, nous avons ajout une bordure infrieure de 4 pixels de ha
llment survol ou slectionn, an de crer leffet donglet. On peut galememaintenir le surlignage des onglets en ajoutant class="active" au lien href de notchoix :
Spaghettis
8/3/2019 Bonnes Pratiques Des Standards Du Web
39/325
20 Se faire plaisir avec le balisage
Cette classe active partage les rgles CSS de a:hover.
La Figure 1.7 illustre la barre de navigation rsultante.
Figure 1.7
Barre de navigation rsultanteavec les mini-onglets.
Jai utilis cette mthode de navigation pour une incarnation antrieure de mon site wepersonnel (www.simplebits.com), mais vous pouvez galement la voir en action (ainsi qle code) chezListamatic, un site de ressources pour les listes mises en forme laide de CS(http://css.maxdesign.com.au/ listamatic/horizontal06.htm).
Moyennant quelques ajustements sur les marges et les bordures, vous pouvez crer un larventail deffets de type onglet. Notez que nous sommes parvenus jusquici sans utilisla moindre image ou le moindre code JavaScript, tout en gardant notre liste de coursXHTML lmentaire. Bravo nous !
Formes de mini-onglets
Pour un rsultat qui se distingue un peu des bordures assez carres et ordinaires obtenuavec les CSS, quelques modications mineures nous permettent dadopter des formes upeu plus sympathiques et de crer ainsi des effets de navigation intressants.
laide de la mme liste puces, nous pouvons construire une CSS analogue celle lexemple prcdent :
#minionglets {
margin: 0;padding: 0 0 20px 10px;border-bottom: 1px solid #9FB1BC;}
#minionglets li {margin: 0;padding: 0;display: inline;list-style-type: none;}
#minionglets a {oat: left;line-height: 14px;font-weight: bold;padding: 0 12px 6px 12px;text-decoration: none;color: #708491;}
8/3/2019 Bonnes Pratiques Des Standards Du Web
40/325
2Listes
#minionglets a.active, #minionglets a:hover {color: #000;background: url(onglet_pyra.gif) no-repeat bottom center;}
Cette CSS est certainement trs comparable lexemple prcdent. Les diffrences pri
cipales ici sont labsence de la bordure infrieure (border-bottom) qui crait longlet 4 pixels de haut, et lajout dune unique image darrire-plan (background-image) potionne en bas et au centre (bottom center) de chaque lment pour tous les tats de survet de slection (voir Figure 1.8).
Figure 1.8Une barre de navigation avec
mini-onglets constitus par des
ormes en images de ond.
Lastuce ici consiste choisir une image sufsamment troite an quelle tienne sous ll
ment de navigation le plus petit. Vous garantissez ainsi quune seule image sera ncessaipour surligner tous vos liens de navigation, indpendamment des largeurs de caractrvariables. Naturellement, au regard des formes que vous pouvez utiliser pour vos projets, lpossibilits sont innies (voir Figure 1.9).
Figure 1.9Quelques autres ormes
possibles.
Les onglets illustrs la Figure 1.9 sont disponibles dans les exemples de code source founis avec ce livre, sur le site de lditeur www.pearson.fr.
Pour obtenir le code source dexemples de mini-onglets similaires et fonctionnels, consutez www.simplebits.com/work > tips. Et si vous recherchez des solutions encore plcratives pour mettre en forme des listes, jetez un il larticle Taming Lists (Domptles listes) de Mark Newhouse, dans le webzineA List Apart(www.alistapart.com/articletaminglists/).
8/3/2019 Bonnes Pratiques Des Standards Du Web
41/325
8/3/2019 Bonnes Pratiques Des Standards Du Web
42/325
Les titres sont non seulement un lment indispensable toute page web mais, correctemebaliss, ils peuvent tre un outil puissant au service de la structure et de laccessibilit dusite.
Visuellement, un titre de page se traduit gnralement par une taille de fonte plus levet, ventuellement, une couleur ou une police diffrentes du corps de texte. Un titre dpage "dcrit brivement le thme de la section quil introduit", suivant les termes du W3Cdlimitant ainsi les diffrentes sections susceptibles dapparatre dans une page.
Comment devons-nous donc baliser un titre de page pour tirer le meilleur parti des informtions que nous prsentons ? Dans ce chapitre, nous allons explorer quelques mthodes fam
lires de gestion des titres, en essayant de trouver celle qui nous offrira le meilleur retosur investissement. Ensuite, nous adopterons la meilleure mthode et nous lui donnerons dstyle grce quelques techniques et astuces CSS.
Quelle est la meilleure manire de baliser le titredun document ?
Pour rpondre cette question, imaginons que nous placions le titre du document en tte la page. Nous allons tudier trois manires de parvenir des rsultats similaires.
Mthode A : du sens ?
Titre de Page Super Cool
Bien que la balise puisse tre un lment pratique dans certaines circonstances, ena gure de sens pour les titres de page. Lun des avantages de cette mthode est que nopourrions ajouter une rgle CSS pour la classe de titre an de faire apparatre le texte commun titre.
.heading{font-size: 24px;
font-weight: bold;color: blue;}
Maintenant, tous les intituls baliss par cette classe heading apparatront en grande tailen gras et en bleu. Formidable, non ? Mais que se passe-t-il si quelquun afche la pagelaide dun navigateur ou dun priphrique ne grant pas les CSS ?
2Titres
8/3/2019 Bonnes Pratiques Des Standards Du Web
43/325
24 Se faire plaisir avec le balisage
Que se passerait-il, par exemple, si nous placions cette rgle CSS dans une feuille de styexterne non visible pour les vieilles versions des navigateurs ou si un lecteur dcran lisala page pour une personne malvoyante ? Un utilisateur consultant notre page laide dlune ou lautre solution ne verrait (ou nentendrait) rien qui diffre du texte normal depage.
Si class="heading" ajoute un peu de sens llment, la balise nest quune envloppe gnrique libre de tout style par dfaut dans la majorit des navigateurs.
Les moteurs de recherche parcourant la page ne sarrteraient pas sur llment
8/3/2019 Bonnes Pratiques Des Standards Du Web
44/325
2Titres
Mthode C : la forme et le fond
Titre de Page Super Cool
Ah, ces bonnes vieilles balises de titres. Elles sont l depuis tout ce temps, mais bon nomb
de concepteurs de sites web ne les ont pas encore adoptes pleinement de manire cohrente. Lorsquils sont utiliss correctement, les titres de pages peuvent ancrer le contenu dla page en fournissant une structure souple, facile indexer et styler.
En termes de balisage, on ne peut quaimer leur simplicit. Il est inutile dajouter dlments supplmentaires et lon pourrait mme souligner les quelques octets que lon cnomise les prfrer aux deux options prcdentes. Cest peut-tre ngligeable, mais moindre bit compte.
Les balises traduisent les six niveaux de titres, du plus important () moins important (). Par nature, elles sont de niveau bloc et ne ncessitent donc p
dlment supplmentaire pour tre places sur une ligne propre. Simple et efcace : ceexactement loutil dont nous avons besoin.
Faciles styler
Comme llment que nous employons na quun seul usage (contrairement aux lments ou
qui sont susceptibles dapparatre un peu partout dans la page), on peut lappliquer diffrents styles laide de CSS. Nous aborderons ce point un peu plus loin dace chapitre, la section Pour aller plus loin.
Plus important encore, notons que, sans application du moindre style, un lment de typtitre apparat manifestement comme un titre ! Les navigateurs en mode graphique adopte
pour le rendu de llment une fonte de grande taille, en gras. Afcher la page sansmoindre style fait apparatre la structure du document exactement comme elle a t pensavec les lments de titres appropris traduisant du sens plutt que de simples instructiode prsentation (voir Figure 2.1).
Les lecteurs dcran, les ordinateurs de poche, les tlphones portables et autres navigateuen mode graphique ou texte sauront galement que faire dun lment de titre : ils le grerocorrectement et le traiteront avec plus dimportance que le texte normal de la page. Si loutilise un lment , les navigateurs qui ne peuvent pas grer les CSS le prsenterocomme un lment ne revtant aucune importance particulire.
Mauvais got par dfautHistoriquement, lune des raisons pour lesquelles les concepteurs de sites web vitaiedutiliser les lments de titres tait peut-tre leur apparence bestiale lorsquils safchesans le moindre style, avec le paramtrage par dfaut. Alternativement, certains ont cho
8/3/2019 Bonnes Pratiques Des Standards Du Web
45/325
26 Se faire plaisir avec le balisage
dviter ou en raison de leur grande taille par dfaut, prfrant plutt des titres niveaux infrieurs an dobtenir une taille plus raisonnable.
Figure 2.1Exemple dafchage sans style dune page utilisant les balises de titres.
Soulignons toutefois que, laide des CSS, nous pouvons facilement modier lapparende ces titres notre guise. Un lment , par exemple, na pas tre un panneau dafchage gant occupant la moiti de lcran de lutilisateur. Un peu plus loin dans ce chapitr
je dmontrerai combien il est simple de styler des titres laide de CSS pour, je lesprattnuer un peu la crainte de lnorme balise .
Optimis pour les moteurs de recherche
Ce point est fondamental. Les moteurs de recherche aiment les lments de titres. Invesement, un lment ou un simple paragraphe pass en gras a moins de sens po
eux. Baliser correctement vos titres laide des lments ne demande que pdefforts et peut nanmoins faciliter lindexation de vos pages par les moteurs de recherchce qui, en n de compte, conduit aussi davantage de personnes consulter votre site.
Les robots des moteurs de recherche accordent une importance particulire aux lmende titres, lesquels sont susceptibles dintgrer des mots-cls. Tout comme ils indexent lbalises et , ils tourneront ensuite leur attention vers les lments de titr
8/3/2019 Bonnes Pratiques Des Standards Du Web
46/325
2Titres
qui peuvent apparatre plus loin dans la page. Si vous ne les utilisez pas, les mots-cls quencadrent nauront pas autant de valeur et pourront mme tre ngligs.
Ainsi don