Programowanie użyteczność
Terminologia
Ta część podręcznika programisty Joomla! omawia aspekty użyteczności i dostępności, odnoszące się do treści zarządzanych przez Joomla! CMS. Opowiemy też o międzynarodowych standardach i dalszych planach rozwojowych na tej płaszczyźnie.
Użyteczność i dostępność
Nasza skrócona definicja użyteczności i dostępności:
- Dostępność:
- Oznacza, czy witryna i jej treść jest dotępna dla użytkowników niepełnosprawnych (...używających specjalnych narzędzi do obsługi komputera, osób z wadami wzroku oraz użytkowników posługujących się terminalami o ograniczonych możliwościach, jak np. palmtopy, terminale tekstowe - przyp. tłumacza -)
- Użyteczność:
- Miara tego, jak łatwo jest korzystać z konkretnej witryny, niezależnie od mozliwości terminala czy użytkownika.
Innymi słowy dostepność skupia się na potrzebach użytkowników o ograniczonych możliwościach, użyteczność rozpatruje potrzeby wszystkich uzytkowników.
Nastawiając się zarówno na użyteczność jaki dostępność, mamy na celu tworzenie witryn przyjaznych dla wszystkich, włącznie z uzytkownikami posługującymi się starszymi technologiami (sprzęt, oprogramowanie, łącza), lub o jakichkolwiek innych specyficznych wymaganiach.
Nasze cele osiągniemy dzięki użyciu standardów (X)HTML, CSS, WCAG/508 i postępując zgodnie z dobrą praktyką programowania.
Teoretycznie, treści łatwo dostępne są użyteczne, ale wymogi nie zawsze się pokrywają. Dlatego właśnie ważne jest rozpatrywanie obu tych grup wymagań.
Oświadczenie o dostępności
To oświadczenie dotyczy trzech głównych płaszczyzn dostępności Joomla!: witryn zbudowanych na Joomla! (wygląd zewnętrzny i administracja), oraz witryny Joomla.org
Witryny zbudowane na silniku Joomla!
Wygląd zewnętrzny (front-end, website)
Zapewnimy rozwiązanie zdolne dostarczać uzytkownikom witryny zgodne ze standardem WCAG 1.0 Priorytet 2 (Wytyczne dotyczące dostępności treści internetowych) oraz wymagań Section 508 (wymagania dotyczące dostępu do serwisów internetowych przez osoby niepełnosprawne) od edycji 1.2 Joomla! wzwyż. Ekipa Core Development Team skupia się na dostępności odbioru witryn sieciowych dla edycji Joomla! 1.x.
Warto zauważyć, że podczas gdy Joomla! pozwala tworzyć witryny zgodne ze standardem WCAG, wiele zależy od twórców szat graficznych i administratorów stron. W efekcie strony oparte na Joomla! mogą nie spełniać wymagań WCAG z przyczyn niezależnych od Core Development Team. Innymi słowy: "Dajemy wam dobre narzędzia, reszta zależy od Was!".
Zaplecze strony (back-end, admin)
Będziemy się starali zaimplementować jak najwięcej funkcji ułatwiających dostęp od strony administracyjnej, ale zmiany techniczne, niezbędne do osiągnięcia standardu WCAG, wymagają poważnych przeróbek w kodzie. Przerabianie kodu byłoby teraz stratą czasu, ponieważ poważne zmiany kodu są planowane dla wersji 2.x.
Zaplecze administracyjne strony na Joomla! CMS nie jest obszarem publicznym. Dopóki wasi administratorzy witryn nie zgłaszają kłopotów z dostępnością, niepełna kompatybilność panelu administracyjnego ze standardami dostępności nie powinna mieć wpływu na wizerunek zewnętrzny, czy poprawność standardów witryny.
Witryna Joomla.org
Sytuacja obecna
Pomimo naszego zaangażowania w poprawę dostepności, jesteśmy świadomi i żałujemy, że nasza witryna nie spełnia wielu wymagań WCAG/508, jak również walidacji XHTML 1.0 Transitional. Witryna joomla.org będzie na tyle zgodna ze standardami na ile sam Joomla!.
Plany na przyszłość
Jesteśmy ukierunkowani na osiąganie bieżących standardów internetowych (XHTML, CSS, WCAG/508) i trzymanie sie reguł dobrego rzemiosła. Nasze cele osiągniemy w momencie, gdy silnik Joomla! spełni wymienione już wymagania. Istniejąca zawartość, stworzona przed implementacją Joomla! 1.5 może nie być poprawnie oznaczona. W miarę wolnego czasu zawartość będzie przeglądana i poprawiana.
Nowo dodawane treści będą już poprawnie oznaczane.
Aplikacje zewnętrzne
W wielu sytuacjach Joomla! wymaga do poprawnego funkcjownowania witryny wykorzystania aplikacji zewnętrznych. Udogodnienia takie jak: forum, czy warsztat (mowa tu o serwisach forum.joomla.org i developer.joomla.org) nie zostały stworzone przez Joomla! Development Team. Będziemy starali się poprawić dostepność tych serwisów, jednak zgodność ze standardami w tym wypadku nie leży w naszych rękach.
Uwagi i sugestie?
Jeżeli macie jakieś sugestie, zażalenia lub pomysły nie krępujcie się podzielić nimi z naszym działem Użyteczności i Dostępności na Joomla! Forum
Poniżej znajduje się lista kontrolna W3C dotycząca zgodności ze standardami. Wytyczne dotyczące dostępności treści internetowych (zwane dalej WCAG), mogą być miejscami sformułowane w sposób, pozwalający na otwartą interpretację. Ta lista kontrolna dotyczy jedynie rdzenia systemu Joomla!, bez uwzględniania zewnętrznych aplikacji, co zostało już opisane w osobnym dokumencie. (patrz: Oświadczenie o dostępności)
Wiele wymagań WCAG pozostaje poza zakresem programistów Joomla!, ponieważ ich spełnienie należy do projektantów szat graficznych lub menedżerów witryny. Tym sposobem Joomla! oferuje możliwość tworzenia witryn zgodnych z WCAG, ale nie gwarantuje, że każda witryna stworzona na Joomla! będzie z tymi standardami zgodna.
Użyliśmy poniższych oznaczeń do określenia aktualnego stanu każdego elementu z listy:
- Tak: środki oraz właściwości wymagane i zapewnione przez Joomla!
- w planie: środki i właściwości, które Zespół Centrum Rozwoju Projektu włączy w przyszłych wydaniach Joomla!
- Nie Centrum (Tak): wymagane środki, których Zespół Centrum Rozwoju Projektu nie jest w stanie kontrolować (np. szablony, zawartość)
Uwaga: Kilka wymagań onaczonych jest zarówno przez w planie, jak i Nie Centrum (Tak). To oznacza, że silnik Joomla może posłużyć do tworzenia zawartości spełniającej te wymagania, ale - ogólnie rzecz biorąc - spełnienie tych wymagań leży poza Zespołem Centrum Rozwoju Projektu Joomla!
The following article describes the best approach to properly structure your side through semantic markup.
Written by Lawrence Meckan - Absalom Media. Re-used with permission from: http://www.absalom.biz/Services/News/Mambo/Semantic_Ideas.html.
Creating a readable document on the web requires skill and precision. Creating a document that matches the intent of the Publisher should mean that when a search engine browses the website and finds the relevant article, that article is able to be searched and archived correctly. This is why semantically correct and well-formed code matter.
Merely having article titles as <h1> and <h2> tags for content does not allow a definitive Site structure as they do not reflect a semantic, ’webified’ document, especially when the document is linearized. This may also influence accessibility considerations as a definitive site structure may not be built if all content and article titles remain major headings inside the web structure.
Here is the methodology I recommend:
- <h1> should be used for the site name.
- <h2> for branding / alias / related titling
- <h3> is the Joomla standard for Module headings, and since ’content’ is by design, a component, Modules and Components of any nature should have the same heading format. <h4> to <h7> should be used inside components, modules and content as sub-headings on various levels.
Furthermore, the methodology I am using for Orange (currently) is that the heading will not need to be styled independently. People should not need to rewrite the methodology to get a semantic header structure.
Through this, the style sheet defines a global h3 tag. Joomla default CSS calls of .contentheading and .componentheading can then be used by a designer to style the content and components independently (if they wish) to the global tag due to CSS being a cascading architecture.
This minimises markup and allows the CMS to deliver greater flexibility in a simpler format. It also makes allowance for pre-existing Templates that already define .contentheading and .componentheading independent of a <h1> or <h2>. It means that those templates, irrespective of when they were released in comparison to the semantic extensions to Joomla, receive the benefit of semantic structure without having to needlessly redeclare styles.
Furthermore, by having <h3> as the standard Joomla class for all headings, irrespective of component, content or module, that leaves the <h1> and <h2> calls to be styled independently by a designer to end up with the effects seen in websites like the CSS Zen Garden.