Este destul de comuna situatia in care creatorii de CSS considera avertismentele raportate de Validatorulul de CSS erori. In special in cazul avertismentelor “You have no color with your background-color” si “You have no background-color with your color”.

Acele avertismente in special, sunt acolo din motive de accesabilitate si sa-ti aduca aminte ca trebuie sa ai grija cand specifici culorile. Validatorul incearca sa te ajute sa reduci riscul ca stylesheet-ul tau de autor sa se amestece cu stylesheet-ul utilizatorului sau a sistemului de colori. Din W3C CSS Validator `FAQ:

Daca nu specifici culoarea si culoarea de fundal la acelasi nivel de specifity, stylesheet-ul tau poate intra in conflict cu cel al utilizatorului.

De exemplu, sa presupunem ca preferi textul in negativ (luminos-pe-intunecat) si ai setate culorile default din browser alb pentru text si negru pentru fundal. Asta ar fi asemanator cu un stylesheet care contine urmatoarele:

body {
   color:#fff;
   background-color:#000;
}

In continuare, imagineaza-ti ce se intampla cand vizualizezi o pagina care are urmatoarea structura HTML

<html>
   <head></head>
   <body>
      <div id="entry">
      </div>
      <div id="comments">
      </div>
   </body>
</html>

si acest CSS de autor:

body { background-color:#fff }
#entry { color:#454545 }

Asa-i. #comments va avea text alb pe un fundal alb. Acest exemplu nu este inventat. Am schimbat culorile din Firefox (Preferences / Content / Colors…) in alb pe negru si m-am dus sa caut un site unde asta se poate intampla. Nu mi-a trebuit mult deoarece primul site pe care m-am dus avea cometarile ilizibile. Rezolvarea e simpla – situl de autor trebuie doar sa-si schimbe regula pentru body in:

body {
   color:#000;
   background-color:#fff;
}

Sper ca acest exemplu sa ajute la o mai usoara intelegere de ce avertizarile pentru color si background-color se afla acolo. Deasemenea este foarte important sa intelegem ca de cele mai multe ori nu este necesar sa ne descotorosim de toate avertismentele de culoare. Daca specifici color si background-color sus in ierarhia documentului, ca si in exemplul de mai sus, unde ele sunt setate pentru elementul body (eu intotdeauna le setez si pentru elmentul html), este in regula. color va fi mostenit prin tot documentul, doar daca nu este redefinit mai tarziu sau cu reguli specifice, iar background-color va domina deoarece valoarea default e transparent.

Asta inseamna ca nu este nevoie sa specifici ambele color si background-color pentru fiecare regula care defineste oricare dintre ele. Totusi este nevoie sa verifici asta manual deoarece validatorul nu ia in considerare valorile mostenite.

Repet, avertizarile sunt doar avertizari si pot fi ignorate daca ai specificat ambele color si background-color pentru html sau body.

Si pentru final un pont pentru validare. Setarea default pentru Validatorul de CSS este sa foloseasca profilul CSS 2 si sa afiseze avertizarile. Daca vrei sa nu mai vezi nici o avertizare cand iti validezi stylesheet-ul, foloseste Advanced Interface pentru a le dezactiva. Deasemenea exista si o optiune prin care poti alege sub ce profil se efectueaza validarea stylesheet-ului. Daca folositi proprietatiile CSS 2.1 sau 3, este foarte folositor.

Avertizarile si erorile sunt acolo cu un motiv – tu doar trebuie sa inveti sa le interpretezi.

autor: Roger Johansson pe 5 Octombrie, 2006
sursa: http://www.456bereastreet.com/archive/200610/css_validator_colour_warnings_are_…/

  • Reddit
  • StumbleUpon
  • del.icio.us
  • Digg
  • Twitter