15.05.2006
Drobiazgi w formularzach
Dwa ciekawe elementy, które zauważyłem w formularzach na stronach internetowych:
- zmiana koloru opisu pola z czerwonego na czarny, gdy pole to zostanie poprawnie wypełnione, na stronie rejestracji do systemu śledzenia dyskusji coComment
- pole z wyśrodkowanym tekstem w formularzu logowania na stronie Payback
Bardzo dobry formularz zrobiono także w Bloggerze przy rejestracji: czytelny, dokładny opis do każdego pola, w przypadku wystąpienia błędu pokazywane jest dokładne wyjaśnienie, co należy poprawić.
Cztery artykuły o formularzach, które polecam (wraz z komentarzami w przypadku blogów):
- Sensible Forms na A List Apart
- Dostępne formularze na blogu No Frontiers
- Użyteczne formularze na blogu Patrysa
- Budowa formularzy z wykorzystaniem standardów na blogu Riddle’a
Kilka cech, o które moim zdaniem warto zadbać, to wyróżnienie pól wymaganych, pola właśnie edytowanego oraz ewentualnych błędów. Ja zrobiłem to rok temu w małej aplikacji webowej tak (może dobrze byłoby jeszcze lepiej opisać przyczynę błędu):

W tym Twoim formularzu brakuje mi dwukropków, rozwijalnej listy przy dacie wpływu oraz kontrastu (vide czerwone napisy na tym brązowym tle).
nom, bledy mozna by lepiej opisac, cos w stylu “nie wpisano tytulu”, “data powinna byc w formacie DD.MM.YYYY” albo “numer moze skaldac sie tylko z cyfr”
komunikaty te powinny sie pojawiac przy zle wypelnionych polach, a nie gdzies na gorze
wzorowo zrobili na linkowanym przez Ciebie bloggerze, tylko mogliby jeszcze czesc bledow sprawdzac po stronie klienta
Grzesiek:
Nie ma nic bardziej denerwującego niż niemożliwość wklejenia daty, bo ktoś sobie zrobił 3 selecty. Jak już, to ikonka kalendarza, która rozwinie jakiś widget do wyboru (choćby te 3 selecty od biedy).
Brak możliwości wklejenia daty w sumie jakoś nigdy mi nie przeszkadzał. Fakt natomiast, że same selecty są wkurzające bo dłużej trwa wybranie z nich poprawnej daty niż wpisanie jej ręcznie.
Inna sprawa, że w tym formularzu jest dokładnie ten błąd, który zawsze mnie wkurza. Przy etykiecie odnośnie daty nie ma nic o przyjmowanym formacie (DD.MM.YYYY) i w takim przypadku muszę liczyć na łut szczęścia że akurat nie jest to format MM.DD.YYYY albo czekać na komunikat błędu.
Apropo formularzy. Jak tego nie robić.
http://www.unixwiz.net/ndos-shame.html
Niesamowita strona — zwłaszcza to zestawienie dziesiątek (!) formularzy z tymi samymi niepotrzebnymi elementami; nie ma wątpliwości, że to było po prostu kopiowane przez lata i trudno to wykorzenić.
Draakhan: masz rację, że można by dodać podpowiedź pokazującą format daty, natomiast to, co widać na zrzucie ekranu, to jest formularz w postaci, jaką widzi na początku użytkownik: jest tam bieżąca data (jako najbardziej prawdopodobna wartość - wartość domyślna - tego pola) i ona, jak sądziłem, stanowiła wyraźną wskazówkę, jak datę wpisać (wystarczy np. zmienić dzień, nie trzeba wpisywać całej daty).
(Formularz akceptuje wiele form daty w postaci naturalnej dla Polaków (D[D]-M[M]-R[RRR], i tak samo z kropkami), nie pamiętam w tej chwili, czy także format odwrócony (ISO), ale raczej tak.)
Odnośnie tej strony z przykładami formularzy zawierających te same, nieprzydatne dane - z jakiejś tam mojej praktyki wynika, że takie sytuacje zdarzają się zawsze tam, gdzie współpraca między producentem a klientem kuleje, przede wszystkim w obszarze analizy wymagań.
W tym akurat przypadku klient pewnie powiedział: “Chcielibysmy miec formularz do platnosci internetowych”. Na to producent: “OK, ale jak to ma wygladac?”. A klient: “No hmmm, w sumie to nie wiem, co tam ma byc, ale przeciez to nie jest trudne… o, np. tutaj jest takie rozwiazanie (link)”. I obie strony wydaje sie usatysfakcjonowane: pracownik klienta rozwiazal sprawe nie wgryzajac sie w temat, a producent niby bardzo konkretnie wie, co ma zrobic. Ale tak naprawde nie “co”, ale “jak”. A przecież sprzecznosc jest w zasadzie widoczna od razu: analityk powinien dowiedziec sie “czego” oczekuje od produktu klient, a nie “jak” konkretnie wykonac dana czesc systemu. I, nomen omen, ten problem jest zdecydowanie powszechny i dotyka projekty duzo wiekszych systemow :)