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 tej lekcji przybliżę ci troszkę temat etykiet czyli
elementów label generalnie bardzo często na naszych stronach
internetowych no korzystamy z elementów formularza jest to jedna z podstawowych jakby
składowych sieci stron internetowych no i załóżmy że mamy
stronę super fly booking czyli jakąś rezerwację lotów online
bardzo uproszczony formularz no ale będzie wystarczył na nasze
potrzeby załóżmy że mamy stronę internetową która oczekuje od nas abyśmy wypełnili
dane takie jak imię nazwisko adres mailowy hasło
jakaś data nie wiemy co to za data no i twój adres jako pole
tekstowe no dobrze no to zaczynamy no i wpiszemy tutaj wojtek
nazwisko wpiszę eduweb a czemu nie adres
emailowy ja tutaj wpiszę super@mail.com
hasło no nie powiem jakie wpisuje hasło no
i tutaj mamy pierwszą zagwozdkę otóż czym jest ten element
do wpisywania daty no tak naprawdę nie wiemy patrząc tylko
i wyłącznie na tą sekcję ekranu jeśli zerkniemy w
źródła jest szansa że czegoś byśmy się dowiedzieli ja tutaj już akurat przygotowałem
ściągawkę no okazało się że to jest data urodzenia a
to mogło być równie dobrze czas wygaśnięcia paszportu albo
różnego tego typu informacje w związku z czym
dopóki nie określimy osobnym elementem czym
jest to pole tekstowe to pole z datą no to tak naprawdę użytkownik wpisuje
to na ślepo tak samo jest w przypadku placeholderów i innych
elementów formularza tekstowych czyli w momencie kiedy wpisaliśmy tutaj
już te dane no to tak naprawdę nie wiemy co tutaj było do
wpisania ja wpisałem tutaj w nazwisku eduweb bo nie chcę podawać nazwiska na przykład
no i mogę zapomnieć że tam faktycznie było to nazwisko muszę usunąć
to żeby dowiedzieć się tak co ja tak naprawdę wypełniłem w tym
polu to jest bardzo kłopotliwe przy długich formularzach
gdzie musimy wypełnić dane jak nazwa ulicy kod
pocztowy różne tego typu dane jeżeli mamy tylko i wyłącznie placeholder no
to niestety użytkownik może zapomnieć co tam faktycznie wpisał to jest jeden z
problemów innym problemem jest to że niektóre czytniki ekranowe faktycznie tego
placeholdera nie czytają czyli tego atrybutu placeholder jest
szansa że czytnik ekranowy nam nie przeczyta akurat chromevox z tego
co pamiętam to czyta możemy to sprawdzić
tak więc
chromevox akurat to czyta natomiast są czytniki ekranowe które tego nie robią
zwłaszcza też na starszych systemach operacyjnych w związku z czym jakby to nie jest
wystarczające no i inna kwestia jest też taka że często właśnie domyślne
placeholdery mają bardzo słaby kontrast i ciężko jest domyślić się co to jest za pole
ciężko jest to po prostu przeczytać więc jakie jest rozwiązanie rozwiązanie jest proste bo
wystarczy po prostu dodać labelki czyli etykiety znaczniki
label można zrobić na kilka sposobów można owinąć dany
element w labelkę i wtedy wszystko co
tutaj się znajdzie nasz opis czyli w tym przypadku jest to first
name zostanie zawarte jako labelka
do tego właśnie elementy input no i teraz gdy klikniemy ten element
to dostajemy w gratisie tak naprawdę możliwość
focusowania pola formularza nawet jeżeli w to nie trafimy co jest świetne
dla osób z problemami motorycznymi na przykład z chorobą
parkinsona jak ktoś ma rozstrojona myszkę i ma za duże dpi
tak naprawdę nie chcę tego więc labelki są do tego świetne
to jest pierwszy sposób ale ja polecam drugi sposób który
jest mniej oczywisty mianowicie używanie
labelek w taki sposób że mamy osobny znacznik nie zawijamy input
wewnątrz labelki no i tutaj atrybutem for
możemy odwołać się do identyfikatora czyli id innego
elementu html czyli jeśli chcielibyśmy stworzyć labelkę tutaj first
name dla tego pola formularza no to możemy zabrać jego id
no i tutaj go wkleić jak to zapiszemy no
to oczywiście mamy teraz inne stylowanie dlatego też lubię tą metodę ponieważ daje nam
to większą elastyczność no i dalej działa wszystko tak samo więc klikamy sobie na
first name i nam się fokusuje pole formularza no
i w tym momencie jeśli teraz wpiszę sobie tutaj imię to ja dalej będę wiedział że o to
jest pole na first name czyli na faktycznie na imię nie
ma takiej sytuacji że zaczynamy coś pisać wstawimy spację i nie
mamy bladego pojęcia co tutaj się znajdowało no i oczywiście jest to też lepsze dla wszystkich
czytników ekranowych więc możemy szybko uzupełnić tutaj pozostałe
elementy czyli first name tutaj mamy last
name zapisujemy formularz
od razu staje się czytelniejszy tutaj wpisujemy
email email password
password przypominam że ja tylko robię tutaj
atrybut for o takiej samej wartości jak identyfikator elementu
który chcę oznaczyć etykietą zapisujemy no i tutaj będzie
faktycznie w końcu widać do czego służy ten date picker date of
birth date of birth i
faktycznie widzimy już na pierwszy rzut oka wiadomo że to jest data urodzenia
nawet jeżeli ktoś nie będzie pewny bo będzie kilka tutaj pól o typie
date no to kliknięcie na date of birth od razu nas przekieruje na ten element
na którym nam zależy no i dla textarea też możemy zrobić sobie labelkę
oczywiście dlaczego nie do dowolnego typu formularza
możemy stworzyć tak naprawdę labelkę i tutaj wstawiamy address i
możemy powiedzieć type your address
below też klikając to przeniesie się nam focus na
tą textarea i teraz można zmienić jakby funkcję
placeholdera i zamiast wpisywać tutaj jakby duplikować tą
treść first name możemy dać w placeholder na przykład na przykład czyli
example wojtek i
do last name example eduweb zapisujemy
i w tym momencie widać że to nie są dane docelowe ponieważ
mamy tutaj przedrostek na przykład i użytkownik wie w jakim
formacie wpisać na przykład dane wie co konkretnie wpisać jeżeli email nie
jest dla niego wystarczająco jasny no to jeśli wpiszemy super@mail.com
no to już widać o co tutaj chodzi i
na hasło możemy dać na przykład jakieś emoji nie
patrzącej małpki żeby żeby nie pokazywać co
to jest za hasła nie no tak naprawdę możemy wstawić jakieś gwiazdki albo
po prostu type your password here ciężko
stwierdzić natomiast możemy zmienić funkcję tego placeholdera jako
uzupełnienie danych które znajdują się na naszej etykietce też nie proponował bym
wstawiać placeholdera na przykład gwiazdka ponieważ użytkownicy mogą
ustalić faktycznie 6 gwiazdek jako hasło do serwisu co może być w sumie problem
bezpieczeństwa i tego nie chcemy robić tak więc generalnie
etykiety są bardzo istotną częścią tworzenia stron internetowych niestety
wiele z nas o nich zapomina są też różne rozwiązania typu floating
labels czyli labelki które nie są widoczne na pierwszy rzut
oka tylko wyjeżdżają jakby z miejsca placeholdera i pojawiają się na górze one
też mają problemy z dostępnością ja jestem zwolennikiem takiego klasycznego formularza
gdzie labelki są faktycznie widoczne oczywiście możemy je ostylować
według naszych dowolnych standardów estetycznych jakich trzymamy
się na naszej stronie natomiast te etykietki ja polecam zawsze mieć
na naszej witrynie