Dostępność stron WWW
3 godz. 32 min · HTML i CSS · Full-stack i Programowanie
Wojciech PołowniakSr. Fullstack EngineerHTML został wynaleziony już w 1989 roku i jest on podstawą tworzenia stron internetowych do dziś. W ciągu ponad 30 lat społeczność programistów tworzących strony internetowe odkrywała coraz to nowe problemy w tworzeniu treści pod unikalne medium jakim jest internet. Jednak na przełomie dekad społeczność zdaje się zapominać o pierwotnych założeniach sieci - treści dostępnych dla każdego. W czasach gdy nowe JavaScriptowe frameworki stawiają... developer experience ponad user experience, paradoksalnie - jest coraz mniej stron internetowych, które są szybkie oraz dostępne dla szerokiej grupy odbiorców.
Dostępność w tym kontekście to tworzenie rozwiązań, z których korzystać może każdy - niezależnie od tego czy zapomniał słuchawek, niedowidzi, zepsuła mu się myszka czy mówi w innym języku. To także troska o użytkownika bez względu na jego potencjalne ograniczenia. Przekłada się to bezpośrednio na ilość osób, które mogą skorzystać z Twojej strony WWW. To właśnie przedstawimy Ci w tym kursie - poznasz techniki tworzenia stron internetowych, które z założenia dbają o użytkownika i pozostawiają kontrolę w jego rękach. Dowiesz się też jaki ma to wpływ dla biznesu czy Ciebie - jako użytkownika sieci.
Troska o użytkownika to dobry User Experience - co z kolei tworzy przywiązanie do produktu. Ale mniej oczywistymi aspektami dostępności jest wpływ na pozycjonowanie stron internetowych. Poprzez korzystanie z semantycznych znaczników i jawne wyrażanie treści poprzez markup możemy - jako przyjemny efekt uboczny - wpłynąć na silniki wyszukiwarek internetowych, by pojawiać się w wynikach wyżej niż dotychczas.
Niestety, łatwo jest tworzyć strony niedostępne - głównie ze względu na niewiedzę. W kursie zrozumiesz najczęściej popełniane błędy dostępności, przez które Twoje treści mogą nie docierać do Twoich potencjalnych użytkowników, oraz dowiesz się jak tworzyć te same rozwiązania w sposób dostępny.
Jesteś znudzony tym, co oferuje Front-End? Każdy framework brzmi jak koło wynajdywane na nowo? Wątek dostępności to zupełnie nowy poziom postrzegania produktu i pracy na rzecz użytkownika. Ilość potencjalnych przypadków do rozwiązania, jeśli chodzi o formę konsumpcji treści przez użytkownika, jest ogromna - możesz ponownie rozpalić swoje zainteresowanie web developmentem!
Aby móc efektywnie skorzystać z tego kursu, potrzebujesz podstawowej wiedzy na temat HTML i CSS. Przyda się również znajomość języka angielskiego, ale nie jest to obowiązkowe, pojedyncze zwroty są tłumaczone na bieżąco.
W tej lekcji powiem coś więcej o kontraście wspominałem już o nim
wcześniej gdy robiłem wprowadzenie do różnych narzędzi na przykład do whocanuse
którego w tym przykładzie będziemy akurat też używać no i chciałem opowiedzieć
generalnie o mniej oczywistych przykładach kiedy kontrast po prostu
jest zbyt mały i nie działa jednym z takich przykładów jest po prostu tekst
jeżeli weźmiemy jakąś sekcję z jakiegoś artykułu ten artykuł jest
akurat o składalnych smartfonach możemy zobaczyć że jest tendencja
w typografii żeby nagłówki robić kolorem jaśniejszym nagłówki
niższego poziomu troszkę ciemniejszym kolorem no i samą
treść taką szarawą troszkę ma to oczywiście swoje uzasadnienie i jest bardzo estetyczne
i jest czytelne w większości przypadków natomiast jeżeli będzie
to użyte w złych proporcjach bądź w złym po prostu momencie niestety kontrast
wtedy cierpi jeżeli byśmy tutaj wzięli sobie colour picker i
wybrali sobie kolor tego tekstu ja robię to celowo przez
systemowy colour picker w tym momencie i weźmiemy to sobie do whocanuse
wstawimy to jako tekst no i pobierzemy
sobie również kolor tła skopiujemy
no to widzimy
że kontrast jest 2.7 do 1 i to jest zupełnie za mało tak
naprawdę ten tekst jest niewidoczny praktycznie dla każdego nawet dla osoby która
nie ma problemów ze wzrokiem może być to problem jeżeli zwiększymy
trochę ten text-size no to oczywiście to będzie czytelniejsze natomiast kontrast
się nie zmieni i będzie tak samo nieczytelny dlaczego to w ten sposób przedstawiłem
no bo tutaj nie jest ustawione tak naprawdę kolor tego tekstu jeżeli
byśmy sprawdzili to w chromowych devtoolsach no to
tutaj nie jest napisane jaki jest kontrast tego dlaczego no bo chrome
nie jest w stanie tego sobie obliczyć ponieważ na tym elemencie jest ustawione
opacity na połowę czyli mamy przeźroczystość tego konkretnego
elementu każdego p ustawione na 50% i możemy to faktycznie
zobaczyć tutaj w devtoolsach mamy taką właśnie
właściwość w tym miejscu tak czyli każde p ma opacity 0.3 nawet
a nie 0.5 generalnie ten tekst to nie jest czytelny no i przez to że jakby
narzędzia deweloperskie działają w sposób jaki działają no to nie
widzimy tutaj tego kontrastu więc warto zwracać na to uwagę
w ogóle w jaki sposób zajmujemy się kolorami i naszą typografią bo
narzędzia automatyczne takie jak devtoolsy czy axe
o którym wcześniej już wspomniałem nie będzie w stanie wykryć tego czyli jeśli będziemy
w zły sposób stylowali nasze strony tak naprawdę nie będziemy
w stanie wyłapać w sposób automatyczny większości błędów na przykład związanych z kontrastem
to jest 1 przykład jest on dosyć prosty do naprawienia bo możemy albo
nadpisać tą regułę stylu czyli po prostu podbijając specyficzność
tego selektora no można to zrobić na wiele sposobów oczywiście mozna użyć niesławnego
importanta tylko na cele prezentacyjne
może tego użyje important no i oczywiście to zadziała
natomiast jest to bardzo zła praktyka nie polecam nigdy przenigdy używać importanta lepszym
rozwiązaniem będzie po prostu wejście w plik źródłowy znalezienie takiej reguły
no i dostosowanie jej możemy albo w ogóle pozbyć się tego opacity
albo możemy ustawić ten kolor na bezpośrednio
taki jak tutaj sobie pobraliśmy jeżeli naprawdę takie musi być natomiast tak
jak wspomniałem no nie jest to kolor który będzie wystarczający dla
kontrastu ale teraz devtoolsy będą w stanie nam ten contrast ratio
wyświetlić więc jakby to i tak jest lepsze niż trzymanie tego w opacity
no a najlepszym sposobem jest po prostu użycie innego
koloru który będzie bardziej czytelny w tym momencie no i ddd już tutaj
jak widać jest o wiele lepszy kontrast jest 12.55 więc
jest naprawdę ok no i zmieniamy to w źródłach a nie nadpisujemy styli gdzieś
dalej jeżeli mam taką możliwość kolejny problem to jest tutaj ten link
jest tutaj link widzimy see more możemy tak
naprawdę próbować to zobaczyć bo konrast jest bardzo zły no z czego to wynika z tego że
domyślne stylowanie linków jest takie niebieskie i często po prostu
jest to niewystarczające jeżeli zmienimy kolor tła na jakikolwiek inny więc co
można zrobić no oczywiście ostylować taki link ostylować go można na różne sposoby możemy
mu dać na a na a visited czyli na odwiedzonego
linka na a active ustawić ten sam kolor tylko dla celów prezentacyjnych
kolor ustawimy na aqua czyli tutaj
w tym momencie jest to blue z tej palety kolorów którą sobie zadeklarowałem w base
css tutaj widzimy deklarację dla blue więc to jest aqua zapisujemy
no i to już spełnia zdecydowanie wymogi to jest naprawdę fajny
kontrast jest to mocny jaskrawy kolor na ciemnym tle no
i kontrast jest 13.6 to jest nawet więcej niż ten nasz
paragraf z tekstem bardzo fajny kolor generalnie aqua na ciemnym jest
dobrym połączeniem warto jeszcze też o tym pomyśleć żeby każde
z pseudo stanów na przykład link który jest odwiedzany miały
troszkę inne te style a nie takie same ponieważ jeżeli ktoś faktycznie wejdzie w ten link i
cofnie się no to już nie będzie miał tej informacji że ten link konkretny odwiedził te rzeczy są tutaj nie
bez powodu powstały bardzo dawno temu gdy sieć dopiero się rozwijała
i nie powinniśmy o tym zapominać więc tak naprawdę możemy tutaj zostawić
to a jako generyczny styl no i tutaj powiedzmy
że na a visited a active możemy już ustawić taki sam kolor jakiś
bardziej fioletowy niech będzie rebeccapurple oczywiście wtedy nam troszkę
spadnie kontrast jeżeli go odwiedzimy ja go nie chcę odwiedzać żeby nie zepsuć podglądu
możecie go oczywiście odwiedzić samodzielnie ale też warto pamiętać o tym
żeby tych pseudo stanów używać więc to co bym chciał żebyście wynieśli
z tej lekcji jest to że narzędzia automatyczne które sprawdzają kontrast
jak narzędzia przeglądarki axe czy inne generalnie zautomatyzowane audyty
nie będą w stanie wyłapać wszystkiego jeżeli będziecie tworzyć leyouty w sposób
niestandardowy na przykład ociemniając cały paragraf z tekstem poprzez
oppacity no i zawsze warto porównać sobie faktyczny kolor wyświetlany
z faktycznie wyświetlanym tłem na przykład w takim narzędziu jak whocanuse