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.
Cześć w poprzednich lekcjach omówiliśmy już jak można stylować
wskaźnik fokusu poprzez outline poprzez background i
color oraz wskazaliśmy że faktycznie outline ma problem jeżeli chodzi przecinanie
go ponieważ box model działa w ten sposób że outline jest faktycznie poza nim no
i overflow hidden nam go usunie czyli jeżeli tutaj mamy faktycznie nawigację
no to overflow hidden go usuwa no i
oczywiście tutaj mam jeszcze ten domyślny outline na inputciue ustawiony
ale jeśli chcielibyśmy aby nie ucinało nam owerflowu a nie
chcemy robić jakby całego tła dla labelki no to możemy użyć
bordera do tego czyli na inputcie usuniemy
sobie outline żeby
nie było za łatwo no i teraz możemy ustawić na label
before border-bottom 3
piksele solid i powiedzmy to blue i to usuwamy zapisujemy
i teraz jak się tabujemy to nic nie widać ale jeżeli dam
tutaj boxa-sizing ustawiony na border-box to powinno działać
z tym że nie dałem tutaj przedrostka var żeby użyć zmiennej
css custom properties box-sizing border-box sprawia że wszystkie
kalkulacje będą jakby zawierały w sobie padding i border więc
mamy pewność że nic nam nie będzie tam się rozjeżdżać no i w tym momencie widzimy faktycznie
fajne podkreślenie tego na którym elemencie jesteśmy możemy to troszkę
pogrubić na 4 piksele oczywiście to mogłoby być w remach czy w innej jednostce relatywnej a nie
absolutej jak piksele no i ustalić tym samym color
dla input focus label aby był zgodny z
tym blue color
var blue oczywiście moglibyśmy zrobić sobie zmienną
custom properties gdzieś wyżej na przykład w rootcie czyli tutaj moglibyśmy
sobie tutaj ustawić jakąś nie wiem na przykład focus-color możemy
to w sumie zrobić focus-color i
ustawiamy to na blue no i teraz możemy tego focus-color używać wszędzie nie
musimy tutaj 2 razy dawać blue wystarczy że zrobimy focus-color
i focus-color no
i po tabowaniu faktycznie wygląda to całkiem estetycznie i tak samo na aktywację
poprzez checkbox możemy zmienić ten focus-color na coś innego to jest jedna
z możliwości i border jest o tyle tutaj fajny że możemy faktycznie zrobić border
z różnej strony możemy sobie z border-top ustawić outline nie
wiem czy to ma sens akurat w naszym języku ale być może w chińskim miałoby to sens możemy
też ustawić border na left i wtedy będziemy mięli takie
jakby akapit się z tego robił nie wygląda to za dobrze więc może to nie jest najlepsze rozwiązanie ale
możemy też zrobić po prostu border-top i border-bottom będziemy
mięli takie jakby szyny dookoła elementu na którym jesteśmy no
i oczywiście jeżeli nie będziemy dekorowali tylko jednej strony no to cały jakby border
nam się będzie poświetlał jest to bardzo podobne do tego oulineu z tym że jest po prostu troszkę
węższe ponieważ nie wychodzi poza box-model tylko jest zawarte
jako border no i to jesteś taki minus że jakby zmuszeni jesteśmy wykorzystać
właściwość border na to więc jeżeli nasz element miałby mieć tak czy siak obramowanie
no to nie bardzo możemy użyć tego stylu chyba że faktycznie w
tamtym przypadku nie będzie to problemem możemy też zrobić taki
border za pomocą pseudo elementów tak jak tutaj użyliśmy before no to możemy sobie po prostu
namalować taką kreskę która będzie też symulować ten border nie ma z tym
problemu to co można zrobić jeszcze i to jest chyba najfajniejsza rzecz związana
z wskaźnik statusu według mnie z tym że
też jest jakby wrażliwa na ten overflow hidden na
rodzicu więc opowiem o tym w następnej lekcji i mowa
tutaj o box-shadow na elemencie który ma fokus