Pomyłki składniowe i wskazówki
06 października 2005
Oglądając strony w Internecie, zwłaszcza blogi, napotykam niepoprawne używanie wielu elementów. Zwykle tak się dzieje, gdyż znowu wszyscy zapominają o przeznaczeniu elementu, zwracając uwagę tylko na jego wygląd / standardowe zachowanie.
Na pierwszy ogień pójdzie etykietka tekstowa. Ludzie chcący wyjaśnić głębsze znaczenie danego ciągu tekstu nagminnie używają <acronym title=""/> bądź <abbr title=""/> do wszystkiego. Jakby nie wystarczyło użyć nawiasu za tym ciągiem, ewentualnie przypisu dolnego. No ale jeśli już chcecie mieć jazzy tooltip, to chociaż semantyki trochę - <span title=""></span> i odpowiedni wygląd (podkreślenie kropkowane na przykład) w CSS (span[title] {…} najlepiej). Znudziło mnie już podglądanie, czy wykropkowany zawiły / śmieszny / okropny wyraz jest w kolejnym <acronym/>. Skróty i akronimy tylko. Proszę.
Kolejną pomyłką, jest background-image dla elementu <blockquote/>. Ja wiem, że teraz jest taka moda, że się wstawia wszędzie „ bądź ” jako obrazeczek, ale trochę pomyślunku w kopiowaniu. Obrazek w 80% przypadków jest za wysoki jak na jedną linijkę tekstu. Ustawcie min-height bądź używajcie cytatów liniowych - <q></q>. Nie ma nic brzydszego jak oglądanie uciętego obrazka. To się tyczy także innych bloków wyróżnionych przez background-image. Co do cytatu, możecie być zainteresowani podwójnym obrazkiem w tle dla „” z wykorzystaniem akapitu w cytacie blokowym i selektora +:
blockquote {background: url(quote-end.png) no-repeat 100% 100%;}blockquote p {background: url(quote-start.png) no-repeat 0 0;padding: 0 1.5em 0 1.5em;margin: 0;}blockquote p + p {background-image: none;}
Ostatni zapis mówi, uogólniając, że dla każdego akapitu, który ma za sobą inny akapit, nie będzie wyświetlanego obrazka otwierającego cytat. To znaczy nie będzie w przeglądarkach, które rozumieją selektor + - określający element p bezpośrednio następujący po innym p (nie zawiera się, tylko sąsiaduje).
Irytuje mnie także <strong/> i <em/> dla zwyczajnych efektów tekstowych - pogrubienia i pochylenia. Nawet konwerter Markdown dał się złapać na bardziej semantyczne znaczniki, LOL. Dzieci, pamiętajcie: <strong/> i <em/> wykorzystujemy przy nacisku na słowo, frazę. Jeśli wklejacie log z rozmowy, to na miłość boską, nie pogrubiajcie nicków rozmówców za pomocą silnej emfazy (<strong/>). Używajcie CSS dla <dt/> albo <b/> - to nie gryzie.
Niewystarczające marginesy dla elementów. Nic nie irytuje bardziej jak zlepienie się paru elementów strony, bo zabrakło między nimi optycznego odstępu. Można sobie zapisać, że marginesy pionowe zlepiają się ze sobą. Jak mamy margin-top: 2em dla <p/> i margin-bottom: 2em dla <ul/> to rzeczywista wartość odstępu między listą nieuporządkowaną, a akapitem będzie wynosiła 2em, nie 4em. Więc nie bójcie się tworzyć więcej odstępów, przerw - to tylko działa na plus Waszej strony.
Więcej grzechów nie pamiętam, liczę że będziecie za nie żałować.


