Dzięki temu ćwiczeniu w Codelabs dowiesz się, jak stworzyć bezpieczny, dostępny i łatwy w obsłudze formularz rejestracyjny.
Krok 1. Używaj zrozumiałego kodu HTML
Z tego kroku dowiesz się, jak używać elementów formularzy, aby w pełni wykorzystać funkcje wbudowane w przeglądarkę.
- Aby udostępnić projekt do edycji, kliknij Remiksuj, aby edytować.
Spójrz na kod HTML swojego formularza w index.html
. Zobaczysz pola do wprowadzania imienia i nazwiska, adresu e-mail
i hasło. Każdy z nich znajduje się w sekcji, a każdy z nich ma etykietę. Przycisk Zarejestruj się to <button>
.
W dalszej części tego ćwiczenia w programie poznasz specjalne moce wszystkich tych elementów.
<form action="#" method="post">
<h1>Sign up</h1>
<section>
<label>Full name</label>
<input>
</section>
<section>
<label>Email</label>
<input>
</section>
<section>
<label>Password</label>
<input>
</section>
<button id="sign-up">Sign up</button>
</form>
Kliknij Wyświetl aplikację, aby wyświetlić podgląd formularza rejestracji. Dzięki temu zobaczysz, jak wygląda formularz bez kodu CSS domyślne style przeglądarki.
- Czy style domyślne wyglądają OK? Co należałoby zmienić, aby formularz wyglądał lepiej?
- Czy style domyślne działają prawidłowo? Jakie problemy mogą wystąpić podczas korzystania z formularza? Co na komórce? A co z czytnikami ekranu i innymi technologiami wspomagającymi?
- Kim są Twoi użytkownicy oraz na jakie urządzenia i przeglądarki kierujesz reklamy?
Testowanie formularza
Możesz kupić sporo sprzętu i skonfigurować device Lab, ale są też tańszych i prostszych sposobów testowania formularza na różnych przeglądarkach, platformach i urządzeniach:
- Używanie trybu urządzenia w Narzędziach deweloperskich w Chrome symulują urządzenia mobilne.
- Wyślij adres URL z komputera na telefon.
- Użyj usługi takiej jak BrowserStack, aby przetestować w zakresie urządzeń i przeglądarek.
- Wypróbuj formularz, korzystając z czytnika ekranu, takiego jak rozszerzenie do Chrome ChromeVox.
Kliknij Wyświetl aplikację, aby wyświetlić podgląd formularza rejestracji.
- Wypróbuj formularz na różnych urządzeniach w Narzędziach deweloperskich w Chrome w trybie urządzenia.
- Otwórz formularz na telefonie lub innym urządzeniu. Jakie widzisz różnice?
Krok 2. Dodaj CSS, aby ulepszyć formularz
Kliknij Wyświetl źródło, aby wrócić do kodu źródłowego.
Na razie nie ma w nim nic złego, ale musisz dopilnować, by Twój formularz działał prawidłowo do najróżniejszych odbiorców korzystających z urządzeń mobilnych i komputerów.
W tym kroku dodasz CSS, by ułatwić korzystanie z formularza.
Skopiuj i wklej cały poniższy kod CSS do pliku css/main.css
:
Kliknij Wyświetl aplikację, aby zobaczyć stylizowany formularz rejestracji. Następnie kliknij Wyświetl źródło, aby wrócić do
css/main.css
Czy ta usługa porównywania cen działa na różne przeglądarki i ekrany o różnych rozmiarach?
Dostosuj ustawienia
padding
,margin
ifont-size
pod kątem urządzeń testowych.Usługa porównywania cen jest dostosowana do komórek. Zapytania o multimedia służą do stosowania reguł CSS do widocznych obszarów o szerokości co najmniej
400px
, a potem ponownie dla w widocznych obszarach, o szerokości co najmniej500px
. Czy są to punkty przerwania wystarczające? Jak wybrać punkty przerwania dla formularzy?
Krok 3. Dodaj atrybuty, aby ułatwić użytkownikom wprowadzanie danych
W tym kroku dodajesz atrybuty do elementów wejściowych, aby umożliwić przeglądarce zapisywanie i autouzupełnianie oraz ostrzegać o polach z brakującymi lub nieprawidłowymi danymi.
Zaktualizuj plik index.html
, aby kod formularza wyglądał tak:
<form action="#" method="post">
<h1>Sign up</h1>
<section>
<label for="name">Full name</label>
<input id="name" name="name" autocomplete="name"
pattern="[\p{L}\.\- ]+" required>
</section>
<section>
<label for="email">Email</label>
<input id="email" name="email" autocomplete="username"
type="email" required>
</section>
<section>
<label for="password">Password</label>
<input id="password" name="password" autocomplete="new-password"
type="password" minlength="8" required>
</section>
<button id="sign-up">Sign up</button>
</form>
Wartości type
robią bardzo wiele:
* type="password"
zasłania wpisywany tekst i włącza przeglądarkę
menedżera haseł, by zasugerować silne hasło.
* type="email"
umożliwia podstawową weryfikację i daje pewność, że użytkownicy urządzeń mobilnych mają dostęp do odpowiedniej klawiatury. Wypróbuj
wyrzuć!
Kliknij Wyświetl aplikację, a następnie kliknij etykietę E-mail. Co się dzieje Zaznaczenie przechodzi do e-maila
danych wejściowych, ponieważ etykieta ma wartość for
pasującą do id
w adresie e-mail. Pozostałe etykiety oraz
działają tak samo. Czytniki ekranu informują też, że etykieta (lub plik
powiązane dane wejściowe). Aby to zrobić, użyj rozszerzenia ChromeVox.
Spróbuj przesłać formularz z pustym polem. Przeglądarka nie może przesłać formularza, a zamiast tego pojawia się prośba o
uzupełnienia brakujących danych i ustawić fokus. Dzieje się tak, ponieważ dodałeś atrybut require
do wszystkich
danych wejściowych. Teraz spróbuj przesłać hasło, które ma mniej niż 8 znaków. Przeglądarka ostrzega,
hasło jest za krótkie, dlatego minlength="8"
. Ta sama funkcja działa w przypadku pól pattern
(używanej do wprowadzania nazwy) i innych
ograniczenia weryfikacji.
Przeglądarka robi to automatycznie, bez żadnego dodatkowego kodu.
Użycie wartości autocomplete
name
dla parametru Imię i nazwisko ma sens, ale co z danymi
inne dane wejściowe?
* autocomplete="username"
w przypadku pola E-mail oznacza, że menedżer haseł przeglądarki będzie zapisywać
a adres e-mail w polu „nazwa” dla tego użytkownika (nazwa użytkownika!) wraz z hasłem.
* autocomplete="new-password"
pola Hasło to wskazówka dla menedżera haseł, że powinna
zaoferować zapisanie tej wartości jako hasła do bieżącej witryny. Następnie możesz użyć
autocomplete="current-password"
, aby włączyć autouzupełnianie w formularzu logowania (pamiętaj, że to
rejestrację).
Krok 4. Pomóż użytkownikom wpisywać bezpieczne hasła
Czy zauważyłeś(-aś) jakieś problemy z wpisanym hasłem w formularzu?
Wystąpiły 2 problemy: * Nie można sprawdzić, czy wartość hasła jest ograniczona. * Nie widać hasła, aby można było sprawdzić, czy jest poprawne.
Nie każ użytkownikom zgadywać!
Zaktualizuj sekcję haseł w index.html
za pomocą tego kodu:
<section>
<label for="password">Password</label>
<button id="toggle-password" type="button" aria-label="Show password as plain text.
Warning: this will display your password on the screen.">Show password</button>
<input id="password" name="password" type="password" autocomplete="new-password"
minlength="8" aria-describedby="password-constraints" required>
<div id="password-constraints">Eight or more characters.</div>
</section>
Spowoduje to dodanie nowych funkcji, które pomogą użytkownikom wpisywać hasła:
- Przycisk (właściwie tekst) do włączania wyświetlania hasła. (Parametr funkcja ta będzie dodawana za pomocą JavaScriptu).
- Atrybut
aria-label
przycisku przełączania hasła. - Atrybut
aria-describedby
do wpisania hasła. Czytniki ekranu przeczytaj etykietę, typ danych wejściowych (hasło), a następnie opis.
Aby włączyć przycisk przełączania hasła i wyświetlać użytkownikom informacje o ograniczeniach związanych z hasłami, skopiuj cały poniższy kod JavaScript i wklej go w swoim pliku js/main.js
.
Kod CSS jest już w odpowiednim miejscu z kroku 2. Zobacz, jak działa przycisk przełączania hasła stylu i umiejscowienia).
Czy ikona będzie działać lepiej niż tekst na przełączyć wyświetlanie hasła? Wypróbuj testy łatwości obsługi zniżek. z niewielką grupą znajomych lub współpracowników.
Aby dowiedzieć się, jak czytniki ekranu współpracują z formularzami, zainstaluj rozszerzenie ChromeVox i poruszaj się po formularzu. Czy możesz wypełnić formularz tylko przy użyciu ChromeVox? Jeśli nie, co należy zmienić?
Oto jak powinien wyglądać Twój formularz:
Co jeszcze
To ćwiczenie w Codelabs nie obejmuje kilku ważnych funkcji:
Sprawdzam, czy jakieś hasła nie zostały przejęte. Nigdy nie zezwalaj na hasła, które zostały przejęte. Możesz (i powinna) skorzystać z usługi sprawdzania haseł, by wychwytywać przejęte hasła. Możesz użyć istniejącej usługi lub uruchomić ją samodzielnie na własnych serwerach. Spróbuj! Dodaj hasło w formularzu.
Link do Warunków korzystania z usługi i polityki prywatności: wyjaśnij użytkownikom, jak ochrony ich danych.
Styl i marka: zadbaj o to, by pasowały do reszty witryny. Podczas wpisywania nazw i adresów i dokonywania płatności, użytkownicy muszą czuć się komfortowo, mając pewność, że nadal są we właściwym miejscu.
Analytics i monitorowanie rzeczywistych użytkowników: umożliwia testowanie i monitorowanie wydajności i łatwości obsługi projektu formularza pod kątem rzeczywistych użytkowników.