(głosów: 1, średnia ocena: 5,00)
 Loading ...

Rozdział 3. Zgodność: wymagania i zalecenia

3 Zgodność: wymagania i zalecenia

3.1 Definicje

SÅ‚owa kluczowe "MUSI" (MUST), "NIE MOÅ»E" (MUST NOT), "WYMAGANY" (REQUIRED), "BĘDZIE" (SHALL), "NIE BĘDZIE" (SHALL NOT), "POWINIEN" (SHOULD), "NIE POWINIEN" (SHOULD NOT), "ZALECANE" (RECOMMENDED), "MOÅ»E" (MAY) oraz "OPCJONALNY" (OPTIONAL) użyte w tym dokumencie należy interpretować zgodnie z opisem w dokumencie RFC 2119 (zobacz [RFC2119]). Aby nie utrudniać czytania tekstu, sÅ‚owa te w dalszej części specyfikacji sÄ… pisane maÅ‚ymi literami.

Od czasu do czasu w specyfikacji tej można znaleźć zalecenia dotyczÄ…ce dobrych zwyczajów dla autorów i aplikacji klienckich. Zalecenia te nie sÄ… normatywne i zgodność z tÄ… specyfikacjÄ… nie zależy od ich realizacji. Zalecenia te zawierajÄ… wyrażenia typu "Zaleca siÄ™…", "Specyfikacja zaleca…" lub podobne.

Fakt, że jakaś funkcja jest oznaczona jako wycofywana (słowo kluczowe ‚aural’) lub ma zostać wycofana w CSS 3 (kolory systemowe) również nie wpływa na zgodność. (Na przykład słowo kluczowe ‚aural’ jest oznaczone jako nienormatywne, przez co aplikacje klienckie nie muszą go obsługiwać. Kolory systemowe są normatywne, a więc aplikacje muszą je obsługiwać.)

Wszystkie części tej specyfikacji włącznie z dodatkami są normatywne, oprócz fragmentów oznaczonych inaczej.

Przykłady i uwagi są nienormatywne.

Przykłady:

W pobliżu poczÄ…tku przykÅ‚adu zwykle znajduje siÄ™ sÅ‚owo "przykÅ‚ad" ("PrzykÅ‚ad:", "W poniższym przykÅ‚adzie…", "Na przykÅ‚ad" itp.). Tekst przykÅ‚adów ma kolor rdzawoczerwony, jak ten akapit.

Uwagi zaczynają się słowem "Uwaga", są wcięte i mają kolor jasnozielony, jak ten akapit.

Rysunki służą tylko jako ilustracje. Nie stanowią one punktów odniesienia dla prezentacji, chyba że tak właśnie napisano.

Arkusz stylów
Zbiór instrukcji określających sposób prezentacji dokumentu.

Arkusze stylów mogą pochodzić z trzech różnych źródeł: autor, użytkownik oraz aplikacja kliencka. Zależności między tymi źródłami zostały opisane w podrozdziale o kaskadzie i dziedziczeniu.

Poprawny arkusz stylów
Poprawność arkusza stylów zależy od poziomu CSS użytego do jego budowy. Wszystkie poprawne arkusze stylów CSS 1 są poprawnymi arkuszami CSS 2.1, ale pewne zmiany w stosunku do CSS 1 oznaczają, że niektóre arkusze stylów CSS 1 będą miały inną semantykę w CSS 2.1. Niektóre funkcje CSS 2 nie należą do CSS 2.1, przez co nie wszystkie poprawne arkusze CSS 2 są poprawnymi arkuszami CSS 2.1.

Poprawny arkusz CSS 2.1 musi zostać napisany zgodnie z wymogami gramatyki CSS 2.1. Ponadto musi zawierać wyłącznie reguÅ‚y ‚@’, nazwy wÅ‚asnoÅ›ci oraz wartoÅ›ci wÅ‚asnoÅ›ci zdefiniowane w tej specyfikacji. Niedozwolona (niepoprawna) reguÅ‚a ‚@’, nazwa wÅ‚asnoÅ›ci lub wartość wÅ‚asnoÅ›ci to taka, która nie jest poprawna.

Dokument źródłowy
Dokument, na rzecz którego został zastosowany przynajmniej jeden arkusz stylów. Dokument taki jest napisany w jakimś języku reprezentującym go w postaci drzewa elementów. Każdy element ma nazwę pozwalającą zidentyfikować jego typ, opcjonalne atrybuty oraz treść (istnieją też elementy puste). Na przykład dokument źródłowy może być egzemplarzem w języku XML lub SGML.
Język dokumentu
Język kodowania dokumentu źródłowego (np. HTML, XHTML lub SVG). CSS służą do opisywania prezentacji języków dokumentu, ale nie zmieniają semantyki tych języków.
Element
(Termin z języka SGML, zobacz [ISO8879].) Pierwotne konstrukcje syntaktyczne języka dokumentu. Większość reguł stylistycznych CSS wykorzystuje nazwy tych elementów (np. P, TABLE czy OL w języku HTML) do określenia sposobu ich formatowania.
Element zastępowany

Element, którego treść wykracza poza zakres modelu formatowania CSS, np. obraz, dokument osadzony czy aplet. Na przykład treść elementu HTML o nazwie IMG jest zwykle zastępowana obrazem wskazywanym przez atrybut "src" tego elementu. Elementy zastępowane często mają wewnętrzne wymiary: wewnętrzną szerokość, wewnętrzną wysokość oraz wewnętrzny współczynnik. Na przykład mapa bitowa ma szerokość i wysokość wewnętrzną zdefiniowane w jednostkach bezwzględnych (na podstawie których można oczywiście określić wewnętrzny współczynnik). Natomiast inne dokumenty mogą nie mieć wewnętrznych wymiarów (np. pusty dokument HTML).

Aplikacja kliencka może uznać, że element zastępowany nie ma wewnętrznych wymiarów, jeśli istnieje ryzyko, że wymiary te mogłyby spowodować ujawnienie poufnych informacji niepowołanym osobom. Jeśli na przykład rozmiar wewnętrzny dokumentu HTML zmienia się w zależności od salda na koncie użytkownika, aplikacja kliencka może działać tak, jakby to źródło nie miało wewnętrznych wymiarów.

Wymiary wewnętrzne
Szerokość i wysokość samego elementu, nie narzucone przez otoczenie. Specyfikacja CSS nie podaje sposobu sprawdzania wymiarów wewnętrznych. W CSS 2.1 tylko elementy zastępowane mogą mieć wymiary wewnętrzne. W przypadku obrazów rastrowych nie mających godnych zaufania informacji przyjmuje się z konieczności, że jednemu pikselowi źródłowemu obrazu odpowiada jeden piksel jednostkowy.
Atrybut
Wartość związana z elementem. Ma nazwę i wartość (tekstową).
Treść
Treść związana z elementem w dokumencie źródłowym. Niektóre elementy nie mają treści i są nazywane elementami pustymi. W treści elementu może znajdować się tekst oraz pewna liczba pod-elementów. Taki element nazywa się rodzicem tych pod-elementów.
Ignorowanie
Ten termin ma w specyfikacji dwa nieco odmienne znaczenia. Po pierwsze analizator składni CSS musi przestrzegać pewnych zasad, gdy napotka nieznaną lub niepoprawną składnię w arkuszu stylów. Wówczas musi on zignorować określone części arkuszy stylów. Zasady dotyczące ignorowania niektórych części arkuszy zostały szczegółowo opisane w podrozdziałach: Deklaracje i własności, Zasady postępowania z błędami analizy składniowej, oraz Nieobsługiwane wartości lub mogą być zdefiniowane w miejscach, w których został użyty termin "ignorowanie". Po drugie aplikacja kliencka może (a w niektórych przypadkach musi) odrzucać pewne własności lub wartości w arkuszu stylów, nawet jeśli ich składnia jest poprawna. Na przykład elementy będące kolumnami tabeli nie mogą wpływać na krój pisma kolumny, a więc własności pisma muszą zostać zignorowane.
Treść prezentowana
Treść elementu po zaprezentowaniu z zastosowaniem odpowiednich arkuszy stylów. Specyfikacja ta nie definiuje sposobu prezentowania treści elementów zastępowanych. Treścią prezentowaną może być również tekst alternatywny elementu (np. wartość atrybutu "alt" w języku XHTML). Treść ta może również zawierać elementy wstawione bezpośrednio lub pośrednio przez arkusz stylów, jak np. punktory, numeracja itp.
Drzewo dokumentu
Drzewo elementów znajdujących się w dokumencie źródłowym. Każdy element tego drzewa ma dokładnie jednego rodzica, oprócz elementu głównego, który nie ma rodzica.
Element dziecko
Element A nazywa siÄ™ dzieckiem elementu B, wtedy i tylko wtedy, gdy element B jest rodzicem elementu A.
Element potomek
Element A nazywa się potomkiem elementu B, jeśli (1) element A jest dzieckiem elementu B lub (2) element A jest dzieckiem jakiegoś elementu C będącego potomkiem elementu B.
Element przodek
Element A nazywa siÄ™ przodkiem elementu B, wtedy i tylko wtedy, gdy element B jest potomkiem elementu A.
Element brat
Element A nazywa się bratem elementu B, wtedy i tylko wtedy, gdy elementy B i A mają tego samego rodzica. Element A jest bratem poprzedzającym, jeśli występuje przed elementem B w drzewie dokumentu. Element B jest bratem następującym, jeśli występuje za elementem A w drzewie dokumentu.
Element poprzedzajÄ…cy
Element A nazywa siÄ™ elementem poprzedzajÄ…cym elementu B,wtedy i tylko wtedy, gdy (1) A jest przodkiem B lub (2) A jest poprzedzajÄ…cym bratem B.
Element następujący
Element A nazywa się elementem następującym po elemencie B, wtedy i tylko wtedy, gdy element B jest elementem poprzedzającym A.
Autor
Autorem jest osoba pisząca dokumenty i związane z nimi arkusze stylów. Narzędzie autorskie to aplikacja kliencka, która generuje arkusze stylów.
Użytkownik
Użytkownik to osoba używająca aplikacji klienckiej w celu przeglądania, odsłuchiwania lub korzystania w inny sposób z dokumentu i związanego z nim arkusza stylów. Użytkownik może dostarczyć własny arkusz stylów ze zdefiniowanymi jego osobistymi preferencjami.
Aplikacja kliencka
Aplikacja kliencka to każdy program interpretujący dokument napisany w jakimś języku do tworzenia dokumentów i stosująca związane z nim arkusze stylów zgodnie z zasadami opisanymi w tej specyfikacji. Aplikacja kliencka może wyświetlić dokument, przeczytać go na głos, skierować do wydruku, przekształcić na inny format itd.
Aplikacja kliencka HTML to program obsługujący specyfikacje HTML 2.x, HTML 3.x lub HTML 4.x. Aplikacja kliencka obsługująca XHTML [XHTML], ale nie HTML (zgodnie z listą zamieszczoną w poprzednim zdaniu) nie jest uważana za aplikację kliencką HTML na potrzeby zgodności z tą specyfikacją.
Własność
Specyfikacja CSS definiuje skończoną liczbę parametrów zwanych własnościami, które sterują prezentacją dokumentu. Każda własność ma nazwę (np. ‚color’, ‚font’ lub border’) i wartość (np. ‚red’, ’12pt Times’ lub ‚dotted’). Własności są wiązane z różnymi częściami dokumentu i strony, na której dokument jest wyświetlany poprzez mechanizmy precyzyjności, kaskadowości oraz dziedziczenia (zobacz podrozdział Przypisywanie własnościom wartości, kaskadowość i dziedziczenie).

Poniżej znajduje się przykładowy dokument źródłowy w języku HTML:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
  <TITLE>Moja strona osobista</TITLE>
  <BODY>
    <H1>Moja strona osobista</H1>
    <P>Witaj na mojej stronie! Oto lista moich ulubionych
		kompozytorów:
    <UL>
      <LI> Elvis Costello
      <LI> Johannes Brahms
      <LI> Georges Brassens
    </UL>
  </BODY>
</HTML>

Drzewo tego dokumentu wyglÄ…da tak:

   [O]

Zgodnie z definicją języka HTML 4 elementy HEAD zostaną dodane w czasie analizy składniowej i wejdą w skład drzewa dokumentu, nawet jeśli odpowiednich znaczników nie ma w źródle. Analogicznie analizator składni zna miejsca zakończenia elementów P i LI, mimo braku w źródle znaczników </p> i </li>.

Dokumenty napisane w języku XHTML (i innych językach bazujących na języku XML) zachowują się inaczej: nie ma elementów dodawanych przez analizator i wszystkie elementy muszą zostać zamknięte.

3.2 Zgodność aplikacji klienckich (UA — User Agent)

W tym podrozdziale zostaÅ‚y opisane zasady zgodnoÅ›ci tylko ze specyfikacjÄ… CSS 2.1. W przyszÅ‚oÅ›ci mogÄ… powstać inne poziomy CSS, które bÄ™dÄ… wymagaÅ‚y zaimplementowania przez zgodne aplikacje klienckie innego zestawu funkcji.

Ogólnie rzecz biorąc, aplikacja kliencka zgodna z niniejszą specyfikacją musi spełniać następujące warunki:

  1. Rozpoznaje przynajmniej jeden typ mediów CSS 2.1.
  2. Próbuje odszukać wszystkie arkusze stylów związane z dokumentem, które są przeznaczone dla określonego typu mediów. Jeśli nie uda się odszukać wszystkich arkuszy stylów (np. z powodu błędów sieciowych), dokument musi zostać zaprezentowany przy użyciu dostępnych arkuszy.
  3. Przetwarza arkusze stylów zgodnie z niniejszÄ… specyfikacjÄ…. W szczególnoÅ›ci musi rozpoznawać wszystkie reguÅ‚y ‚@’, bloki, deklaracje i selektory (zobacz dodatek gramatyka CSS 2.1). JeÅ›li aplikacja kliencka napotka wÅ‚asność przeznaczonÄ… dla obsÅ‚ugiwanego typu mediów, musi tÄ™ wÅ‚asność przetworzyć zgodnie z jej definicjÄ…. Oznacza to, że aplikacja kliencka musi przyjmować wszystkie poprawne wartoÅ›ci oraz ignorować deklaracje zawierajÄ…ce niepoprawne wartoÅ›ci. Aplikacje klienckie muszÄ… ignorować reguÅ‚y odnoszÄ…ce siÄ™ do nieobsÅ‚ugiwanych typów mediów.
  4. Dla każdego elementu w drzewie dokumentu musi przypisać wartość każdej własności zgodnie z definicją tej własności oraz zasadami kaskadowości i dziedziczenia.
  5. Jeśli dokument źródłowy ma alternatywne zestawy arkuszy stylów (np. dodane za pomocą słowa kluczowego "alternate" języka HTML 4 [HTML4]), aplikacja kliencka musi pozwolić użytkownikowi wybrać dowolny z tych arkuszy.
  6. Aplikacja kliencka musi umożliwiać wyłączenie autorskich arkuszy stylów.

Jednak nie każda aplikacja kliencka musi przestrzegać wszystkich powyższych zasad:

  • Aplikacja wczytujÄ…ca arkusze stylów nie prezentujÄ…c żadnej treÅ›ci (np. walidator CSS 2.1) musi przestrzegać warunków 1-3.
  • Od narzÄ™dzia autorskiego wymaga siÄ™ tylko, aby wytwarzaÅ‚o poprawne arkusze stylów
  • Aplikacja kliencka prezentujÄ…ca dokument z dołączonymi arkuszami stylów musi speÅ‚niać wymagania postawione w punktach 1-6 oraz prezentować dokumenty zgodnie z wymaganiami wÅ‚aÅ›ciwymi dla okreÅ›lonych mediów zdefiniowanymi w tej specyfikacji. W uzasadnionych przypadkach aplikacja może stosować wartoÅ›ci przybliżone.

Brak obsługi części tej specyfikacji z powodu ograniczeń urządzeń (np. aplikacja kliencka nie może zaprezentować kolorów na monitorze monochromatycznym) nie powoduje jej niezgodności ze specyfikacją.

Aplikacje klienckie muszą umożliwiać użytkownikom określenie plików zawierających ich własne arkusze stylów. Z wymogu tego zwolnione są aplikacje działające na urządzeniach bez możliwości pisania lub określania plików. Dodatkowo aplikacje klienckie mogą umożliwiać definiowanie preferencji użytkownikom na inne sposoby, np. poprzez GUI.

Specyfikacja CSS 2.1 nie podaje które własności służą do formatowania kontrolek formularzy i ramek ani nie określa sposobu ich formatowania za pomocą CSS. Aplikacje klienckie mogą stosować własności do tych elementów. Zaleca się, aby autorzy traktowali taką obsługę jako eksperymentalną. W kolejnej wersji CSS może to zostać uściślone.

3.3 Obsługa błędów

Ogólnie rzecz biorąc, dokument ten określa sposób obsługi błędów poprzez specyfikację. Zobacz np. Zasady postępowania z błędami analizy składniowej.

3.4 Typ treści text/css

Arkusze stylów CSS znajdujące się w osobnych plikach są wysyłane przez Internet jako szereg bajtów z dołączoną informacją o kodowaniu. Struktura transmisji, zwanej encją wiadomości została zdefiniowana w dokumentach RFC 2045 i RFC 2616 (zobacz [RFC2045] i [RFC2616]). Encja wiadomości o typie treści "text/css" reprezentuje niezależny dokument CSS. Typ treści "text/css" został zarejestrowany przez dokument RFC 2318 ([RFC2318]).

Narzędzia

Dodaj do przechowalni

Inne artykuły poruszające podobny temat

Dwa nowe moduły CSS: układy siatkowe i treść generowana dla mediów stronicowanych

Szkic specyfikacji układów siatkowych CSS

HTML5 i Canvas 2D przechodzÄ… w fazÄ™ rekomendacji kandydujÄ…cych

Moduły tekstu i dekoracji tekstu CSS3

Trzy nowe szkice robocze grupy roboczej W3C ds. CSS

CSS4 nie istnieje!

Dodaj komentarz









Newsletter

Subskrybując nasz newsletter masz pewność, że nie ominie Cię żadna nowość w serwisie!