Kontrola nad przeglądarką

Użytkownicy używający Firefox'a, Opery, czy innej cywilizowanej przeglądarki nie muszą się dokładnie zastanawiać nad kontrolą zachowań swojego programu - surfowanie po Internecie wygląda prawie zawsze tak samo. Jednak czy rzeczywiście tak jest? Nie.

Internauta nie mający komfortowych warunków (IE) poddany jest na wykonanie każdej zachcianki webmastera. Target="_blank" - nowych okien przybywa - użytkownik nie panikuje - już do tego się przyzwyczaił. Jednak podświadomie szuka sposobu na odzyskanie kontroli. Podobnie postępuje użytkownik Opery, czy Firefox'a w każdej sytuacji, gdy tylko coś działa wbrew jego woli - nie zawsze zdajemy sobie z tego sprawę.

Zapomnij o target="_blank"
Stare marketingowe podejście: "nie pozwól aby użytkownik opuścił Twoją stronę". Stare przykazanie pozycjonera: "Każdy link wychodzący powinien zawierać target="_blank". Takie 'wskazówki' spowodowały, że do dziś wiele stron zawiera w odnośnikach atrybut target="_blank" broniąc się przed ucieczką użytkownika.

Zapomniano jednak o jednej istotnej rzeczy: najczęściej wykonywaną operacją przy przeglądaniu stron, jest cofanie się. Użytkownik chce mieć możliwość decydowania o sposobie i kolejności przeglądania stron. Otwarcie nowego okna zakłóca ten proces. Użytkownik nie może wrócić do poprzedniej strony korzystając z odpowiedniego przycisku w przeglądarce, czy skrótu klawiszowego.

Otwarcie nowego okna wymusza na użytkowniku przeanalizowanie hierarchii stron w których się znajduje. Witryna w której zastosowano target="_blank" staje się dla niego nieprzewidywalna, nie wie on co się stanie po kliknięciu w link - często będzie wolał nie ryzykować otwarciem kolejnego niepotrzebnego okna i ewentualnym przywieszeniem całego systemu.

Nie tylko target="_blank" - JavaScript
Otwieranie nowych okien wiąże się także z wykorzystaniem JavaScript'u - nie chodzi tutaj bezpośrednio o wyskakujące okienka reklamowe - użytkownicy ich oczywiście nie lubią, jeśli nie zostaną one zablokowane przez przeglądarkę, to zrobią to sami, nawet bez zapoznania się z treścią. Właśnie podświadomy cel zamknięcia pop-up'a jest przyczyną częstej irytacji - użytkownik klika na link, otwiera się pop-up który zostaje natychmiastowo zamknięty - użytkownik nie zauważa reakcji po kliknięciu na link. Znajdź inny sposób na przekazanie informacji - wykorzystaj np. warstwy (CSS+JS).

href="javascript:funkcja();"
Odnośnik powinien być odnośnikiem, oraz powinien zachowywać się jak odnośnik. Odnośnik Javascript'owy nie zawsze taki jest - kliknięcie powoduje akcję, lecz nie zawsze. Próba jego otwarcia za pomocą środkowego przycisku myszki (rolka przewijania), skończy się na pojawieniu nowej pustej karty w przeglądarce. Webmaster powinien przewidzieć taką akcję użytkownika. Atrybut 'href' powinien zawierać działający adres docelowy, o ile jest to tylko możliwe (w przypadku braku strony: href="#"), wywołanie funkcji JavaScript powinno odbyć się poprzez zdarzenie przypisane do odnośnika.

Flash to zło
Pisałem już o tym, jednak warto zwrócić ponownie na to uwagę. Bardzo nie lubię Flash'a - to fakt, jednak mam do tego powody: nie mogę korzystać z gestów myszy (mouse gestures - nawigacja w przeglądarce z wykorzystaniem ruchów myszki), nie mogę otwierać podstron w nowych kartach. Na większości stron wykonanych w technologii Flash nie mogę poruszać się 'wstecz', itp. Każda strona w Flash'u wymaga ode mnie konieczności dostosowania się do niej.

Mailto
Pozostawiasz swój adres mailowy na stronie? Zrób to prawidłowo. Użytkownicy w większości nie lubią sytuacji, gdy kliknięcie na linku 'kontakt' (znajdującego się często w głównym menu) powoduje uruchomienie kreatora konfiguracji pocztowej, lub nieużywanego programu pocztowego. Link 'kontakt' powinien prowadzić do osobnej podstrony, gdzie będzie znajdował się formularz kontaktowy, lub dane takie jak adres e-mail. Osoba chcąca wysłać maila będzie wiedziała jak te dane wykorzystać.

And ...
Co jeszcze sprawia, że Twoja przeglądarka zachowuje się inaczej niż tego oczekujesz?

Komentarze 150:

  • » Paweł Nowak: 21.02.2007 o 00:00

    A co z Ajaxem? Przecież tak samo potrafi być nieprzewidywalny?

  • » Wzs: 21.02.2007 o 00:10

    Źle napisany każdy kod będzie nieprzewidywalny :)

  • » Grizzly3: 21.02.2007 o 10:08

    Z pewnością "cofanie się wstecz" jest częściej wykonywane nić cofanie w przód :P

  • » Adriano: 21.02.2007 o 10:57

    Paweł Nowak: Z AJAX'em sytuacja wygląda trochę inaczej, poświęcę na to osobny post.

    Wzs: Racja. Jednak każdy przykład który podałem, nie jest błędem z puntu widzenia zgodności z standardami WC3 (z wyjątkiem target="_blank" w pewnych okolicznościach).

    Grizzly3: oczywiście ;) To moja pozostałość po pewnej nauczycielce która notorycznie używała zwrotu "cofnijcie się troszkę do przodu" ;) ..poprawione.

  • » Feedel: 23.02.2007 o 08:54

    Tekst dobry, ale mam jedną uwagę.

    "Atrybut 'href' powinien zawierać działający adres docelowy, o ile jest to tylko możliwe (w przypadku braku strony: href="#")."

    Nie, nie, nie i jeszcze raz nie. Według specyfikacji W3C:

    href = uri [CT]
    This attribute specifies the location of a Web resource, thus defining a link between the current element (the source anchor) and the destination anchor defined by this attribute.

    NIGDY nie dajemy żadnych '#'. ZAWSZE wpisujemy działający adres! Później dobudowujemy funkcjonalność opartą na js w onclick! Tak, aby w przypadku wyłączenia js strona zachowywała się normalnie.

  • » Adriano: 23.02.2007 o 22:59

    Chodziło mi o przypadek kiedy link służy np. do rozwijania określonego div'a (jest to bardzo często stosowane). Jednak da się to zrobić tak, aby osoby bez JS nie odczuły żadnych niedogodności - więc masz rację.

  • » Gladiror: 18.07.2007 o 04:37

    W3c jeżeli już :)

  • » procek: 09.06.2009 o 22:39

    Nie mogę się zgodzić z _blankiem - ja mam środkowy przycisk myszy - nie potrzebuje tego, ale zobaczmy jak działają strony na https bez tego gdy zaczniemy do nich wracać przyciskiem "wstecz" - nieprzyjemne prawda? Jeśli chodzi o Ajaxa to zwykle robi on więcej kłopotów niż plusów. Przykładem jest orange.pl - zawsze działało wolno - po dodaniu Ajaxa jest jeszcze gorzej... A strona orange to już zupełnie inna bajka: hhttp://7pl.info/orange.pl-jak-polskie-autostrady.html

  • » Masa: 17.12.2009 o 12:30

    IE 8 już nie jest taki zły, ma też zakładki i nie otwiera nowych okien. Mailto rzeczywiście może być wkurzające dla niektórych tym bardziej jak ktoś nie ma skonfigurowanych klientów poczty. Dla mnie np. to wygodne bo używam thunderbirda i nie trzeba kopiować i wklejać adresu, formularzy też nie lubię uzupełniać. Nie da się wszystkich zadowolić. Osoby korzystające z klientów poczty za pewne wolą mailto, ci którzy z nich nie korzystają pewnie nie. Pytanie których jest więcej... chyba tych drugich.

Dodaj komentarz:

Dostępne tagi: [link]http://adres-www[/link] [quote]cytat[/quote] [code]kod[/code] [pre]tekst preformowany[/pre] [b]bold[/b]