Dziś jest piątek, 25 lipca 2008 roku (z kalendarza...)

Projektowanie nawigacji

Icon

19.02.2007, 22:13

Webmaster

Komentarze (5)

Powrót

System nawigacji na witrynie internetowej zazwyczaj w trakcie projektowania strony spychany jest na dalszy plan i w całości podporządkowany projektowi graficznemu. Na dobrą sprawę ciężko jest nawet szybko znaleźć w sieci jakiś dobry artykuł w całości poświęcony temu zagadnieniu (podobnie, jak zdjęcie drogowskazu na "wolnej" licencji do zrobienia ikonki tego wpisu :)). Na pierwszy rzut oka faktycznie nie ma o czym pisać - oczywistością jest, że strona powinna posiadać jakieś widoczne menu, które jest sensownie oddzielone od treści, linki powinny się wyróżniać, logo przenosić na stronę główną. Jednak diabeł tkwi w szczegółach.

Oprócz wymienionych wyżej elementów, projektując system nawigacyjny strony musimy zwrócić uwagę na inne rzeczy:

  • Czytelne odsyłacze w komunikatach generowanych na stronie - po przeczytaniu wiadomości, że np. post użytkownika został szczęśliwie dodany, spodziewa się on, że klikając na "OK", trafi do widoku tematu wycentrowanego na tym, co właśnie napisał. Analogicznie jest w przypadku błędów, bowiem zdarza się czasem, że na stronie publikowane są linki do nieistniejącego zasobu. Przeważnie przycisk "OK" odsyła wtedy na stronę główną, lecz moim zdaniem w miarę swoich możliwości powinien odsyłać do fragmentu witryny, gdzie takowy zasób mógł się znajdować.
  • Czytelne przejścia między panelami - na niektórych witrynach internauta wykonuje kolejne czynności i czasem warto poprowadzić go za rączkę od jednego etapu do drugiego bez konieczności poszukiwania odpowiednich linków w menusach. Za przykład może posłużyć stworzony przeze mnie projekt atlocations.com służący firmie pośredniczącej w wynajmie nieruchomości przez Internet. Użytkownik, chcąc dodać nową ofertę, trafia w pierwszej kolejności na formularz logowania połączony z kompletnym formularzem rejestracji, gdyby nie miał jeszcze konta. Po wypełnieniu jednego lub drugiego (a w przypadku tego drugiego również aktywacji), od razu przenoszony jest do formularza pozwalającego mu dodać nową lokację. Wypełniwszy go, strona kieruje go automatycznie do panelu zarządzania zdjęciami, gdzie może uzupełnić swoją ofertę o materiały fotograficzne. Zakończywszy swe zadanie, kierowany jest do formularza płatności, gdzie ostatecznie płaci za opublikowanie oferty w sieci. Naturalnie nie zmienia to faktu, że każdy z kroków jest dostępny normalnie w menusach pod odpowiednim linkiem i w każdej chwili można do niego skoczyć. Zaimplementowanie takiego systemu wymagało ode mnie dosyć sporej gimnastyki (pomijam już tu fakt, że klient poinformował o tym dopiero, jak już strona była w teorii gotowa :)), ponieważ przykładowo formularz logowania odsyłał po uwierzytelnieniu w różne miejsca w zależności od partii strony, w której został wywołany.
  • Internauta zawsze musi wiedzieć, w jakim miejscu serwisu się aktualnie znajduje, jak to jest głęboko oraz gdzie może się stąd dostać. Pierwsza rzecz realizowana jest przez odpowiedni tytuł, drugą otrzymujemy, dodając pasek nawigacyjny pokazujący położenie od ogółu do szczegółu: Zyxist.com >> Wpisy >> Luty 2007 >> Projektowanie nawigacji (hehe, ja tu sobie nawijam, a własna strona domowa nie ma nawet takiej głupoty :)). Jego generowanie nie wymaga zbyt złożonego systemu i można taki pasek zapewnić niewielkim kosztem. Ostatni z podpunktów to czytelne menu, w którym obowiązkowo powinna być jakoś wyróżniona aktualnie przeglądana strona. Od zeszłego roku włączam w to jeszcze w miarę możliwości nawigator Wstecz/Wyżej/Dalej będący układem trzech właśnie takich linków. Pierwszy przenosi do elementu leżącego bezpośrednio przed aktualnie czytanym zasobem w strukturze strony, drugi do elementu-matki (np. kategorii, gdy czytamy jakiś news), trzeci do następnego w kolejności elementu. Ułatwia to czytanie od deski do deski, gdyż nie trzeba korzystać z menu. Wykonanie takiego paska jest już trudniejsze technicznie i najlepiej jest, gdy silnik potrafi sam określać na podstawie zawartości bazy danych stosunki feudalne między poszczególnymi obiektami w strukturze strony.
  • Kategoryzacja treści - kategorie wymyślono po to, aby grupować informacje według konkretnych kryteriów. Pozwalamy w ten sposób na zapoznanie się z różnymi artykułami dotyczącymi konkretnego zagadnienia, co przydaje się, gdy internauta na dobrą sprawę sam nie wie, czego dokładnie szuka (i nie może przez to prawidłowo posłużyć się wyszukiwarką). Wyszukiwarka to kolejny element, który przydaje się, kiedy dokładnie wiemy, czego nam trzeba. Można zaprojektować autorski system wyszukiwania uwzględniający strukturę strony, można też postarać się o porządne olinkowanie strony i poczekać, aż całą jej zawartość pochłonie Google :).
  • Formularze - najgorszą rzeczą jest, kiedy pracowicie wypełnimy formularz złożony z 200 pól, klikamy "Dalej" i wyskakuje nam komunikat o błędzie. Potwierdzamy "okejem", że przyjęliśmy to do wiadomości i zostajemy przekierowani do pustego formularza. Potrafi to czasem nieźle wkurzyć, szczególnie gdy projektant majstrował przy przycisku "Wstecz" w przeglądarce. Najbardziej przyjazne formularze w przypadku popełnienia błędu odświeżają się wraz z całą zawartością, jaką internauta tam wprowadził, a komunikaty wyświetlają pod stosownymi polami, dodatkowo oznaczając je np. na czerwono. Pisanie takiego systemu od zera wymaga trochę pracy i cierpliwości w przypadku przebudowywania formularzy - znam to z autopsji, bo tak to składałem w atlocations.com. Tamten projekt dał mi w ogóle motor do rozpoczęcia prac nad Open Power Forms, nawiasem mówiąc. Warto też stosować znaczniki LABEL szczególnie w przypadku pól radio - wiąże on komponent z opisem informującym internautę o jego przeznaczeniu, dzięki czemu także kliknięcie w ten opis powoduje aktywację pola formularza.

Jakie są wasze pomysły na dobrą nawigację? Jakie kroki podejmujecie, aby internauci nie pogubili się na tworzonych przez Was witrynach? Na jakie rzeczy związane z nawigacją zwracacie uwagę, surfując po sieci?

PS. Jest to już 400-tny wpis na Zyxist.com - ale się tego uzbierało... :)

Powrót

Komentarze

Napisał eRiZ w wtorek, 20 lutego 2007 o 11:23

- Po pierwsze - jeśli internauta ma zbyt duży wybór, to się po prostu gubi.
- po drugie - nie pamiętam, czyja to była teoria, ale gość odwiedzający stronę woli ruszyć kursorem na drugie miejsce na ekranie i kliknąć w większy element niż w mniejszy, który ma pod nosem.
- po trzecie - brak LABEL w formularzach. Odnosi się to do mojego drugiego punktu, bo brak najbardziej wkurza przy elementach wymagających "celowania" - checkboxy, radiobuttony.
- po czwarte - strona całkowicie wykonana we flashu. Potencjalny gość ma bardzo dobrze wyuczoną umiejętność korzystania z przycisków wstecz/dalej i bardzo się irytuje, gdy ktoś mu je po prostu "zablokuje".
- po piąte - walidacja formularzy - lepiej, gdy coś przebiega w locie (np. poprzez JavaScript) niż po wysłaniu. Oczywiście, nie można zapomnieć o walidacji po submicie. Do czego zmierzam - zdarza się, że potencjalny gość ma otwartych kilka serwisów. Jeśli ma długi formularz do wypełnienia i słabe łącze, to raczej nie będzie miłym uczuciem obejrzenie tylko błędu i poprawianie wszystkiego.
- po szóste - accessibility. Rzecz ważna, o ile nie najważniejsza. Ostatnio wielu webmasterów nadmiernie wykorzystuje JavaScript w swoich stronach (np. serwis pytamy.pl), co uniemożliwia funkcjonowanie strony z wyłączonym wykonywaniem skryptów bądź, gdy przeglądarka nie ma takich możliwości technicznych (lynx, elinks, itp.). To samo się tyczy strony całkowicie zaprojektowanej na obrazkach.
- po ósme - gdzie możliwe, wykorzystuj AJAX. Często widuję serwisy, w których samo rozwinięcie gałęzi w menu powoduje całkowite przeładowanie strony. "Irytuje".
- po dziewiąte - źle dobrane reklamy. Przezroczysta warstwa "zasłaniająca" stronę i jej elementy nawigacyjne spowoduje natychmiastowe zamknięcie karty (okna) w przeglądarce i nasza strona ma bilans ujemny...

Więcej mi się nie przypomina. ;)

Napisał Bob w wtorek, 20 lutego 2007 o 12:32

Polecam lekturę książki Nie każ mi myśleć / Steve Krug. Na alistapart można też znaleźć artykuły o użyteczności lub zbliżone (np. ostatnio o wskazywaniu za pomocą pustej przestrzeni bloków).

Napisał Cypherq w wtorek, 20 lutego 2007 o 14:05

"bezpośrednio przez aktualnie czytanym zasobem" - przed :)

Mnie najbardziej przy szeroko pojętej "nawigacji stron" urzekł swoisty tutorial, stworzony w AJAXIe. Prowadził użytkownika za rączkę, pokazując różne możliwości strony lub tłumacząc co, gdzie i jak ma wypełnić.

Zgadzam się też, że przyciski powinny być duże (szczególnie te ważne). Najlepiej jeszcze, żeby się minimalnie powiększały przy najeżdżaniu etc.

PS. Zyxiu, rób więcej akapitów :)

Napisał Termit w wtorek, 20 lutego 2007 o 17:46

Z jednej strony "róbcie walidację formularzy już na poziomie JS", a zaraz za tym "nie uzależniajcie formularza od JS". Myślę, że warto zbić to w całość.

Uważam sprawdzanie na poziomie JavaScriptu (tudzież za pomocą AJAX-a) za przydatny ficzer, który jednak nie może zastąpić gruntownego sprawdzenia poprawności formularza po stronie serwera.

<label> traktuję jako obowiązkowy element każdego dostępnego formularza. Dobrym pomysłem, moim zdaniem, jest grupowanie elementów w <fieldset>-y.

Ponadto, zarówno do formularzy, jak i do nawigacji w ogóle, dorzuciłbym rozsądne rozplanowanie accesskeyów i tabindeksów.

Napisał eRiZ w wtorek, 20 lutego 2007 o 20:58

"Uważam sprawdzanie na poziomie JavaScriptu (tudzież za pomocą AJAX-a) za przydatny ficzer, który jednak nie może zastąpić gruntownego sprawdzenia poprawności formularza po stronie serwera."
Przecież o tym napisałem. (chyba, że inaczej zabrzmiało) :P

"Ponadto, zarówno do formularzy, jak i do nawigacji w ogóle, dorzuciłbym rozsądne rozplanowanie accesskeyów i tabindeksów."
I tzw. "Oświadczenie o dostępności".

Strona 1 z 1 :: 1

Skomentuj

NickInformacja
E-mailTylko do użytku wewnętrznego.
WWWNie zapomnij o http://
LayoutNapisz tu, czy widzisz dzienny czy nocny layout.
WpisFormatowanie wiki
Internauto, pamiętaj! Wolność to nie samowola - dbaj o kulturę wypowiedzi oraz dyskusji w sieci.

Na Zyxist.com panuje swoboda wyrażania opinii oraz krytyki pod dowolnym adresem. Jedyny warunek: musi być ona kulturalna i rzeczowa. Na chamstwo, prostactwo lub jawne obrażanie kogokolwiek nie ma tu miejsca i takie komentarze są bardzo szybko usuwane. Jeśli zamierzasz polemizować z treścią wpisu, wpierw uważnie ją przeczytaj.

© Tomasz "Zyx" Jędrzejewski 2005 - 2008 | Wykonanych zapytań: 2 | Serwer wirtualny zapewnia