To click or not to click

“Perfection is achieved not when there is nothing more to add, but when there is nothing left to take away.” – Antoine de Saint-Exupery
Folosesc Firefox si middle-click pentru deschiderea in taburi noi a linkurilor care ma intereseaza. Insa in ultima vreme ma lovesc din ce in ce mai des de o problema: eu pe care buton apas?
Sa va explic.
O data cu raspandirea “fenomenului AJAX“, tot mai multe site-uri folosesc javascript pentru afisarea unor informatii intr-un mod mai “prietenos”. Astfel, un link pe care scrie “Help”, din dreptul unui camp dintr-un formular, poate deschide o fereastra popup, poate afisa un fel de lightbox, poate deschide intr-un tab nou o pagina cu informatiile necesare, etc. Posibilitatile sunt multe.
Problema este ca acel buton este imprevizibil.
Vad butonul, cum procedez? Left click, sperand sa fie ceva javascript, dar riscand sa imi schimbe pagina (lucru pe care eu nu-l doresc, poate e un formular deja aproape completat), middle click “ca sa fiu sigur” dar apoi ma trezesc cu 10 taburi deschise, fiecare tab fiind gol deoarece acel link fusese “gandit” (mult spus) pentru javascript? E foarte neplacut sa se intample asta, iar mai grav este ca aceasta nesiguranta devine din ce in ce mai prezenta pe web.
Exemplu concret: forumul macuser.ro. Toate pozele atasate la un post au link de forma javascript:showimage('http://..', '640', '480');void(0);. Vrei sa deschizi toate pozele in taburi ca sa te uiti la ele pe rand? Sau poate un link direct catre una din ele? Tough luck… Ai cumva javascriptul dezactivat? Hah.
Avem nevoie de programare web “cu cap”, facuta de oameni care stiu cum stau lucrurile, si nu de amatori care cred ca daca folosesc din plin ultimele efecte script.aculo.us totul va fi ok. Nu e ok, site-urile trebuie sa fie accesibile, informatia trebuie sa se gaseasca in stare cat mai pura. De-aia avem XML, JSON, XHTML: pentru “curatarea” informatiei de toate artificiile grafice. Javascriptul ar trebui sa fie bonus, nu esential! Vorbim bineinteles de site-uri normale, nu de aplicatii full-javascript. Cum poti sa te numesti programator web, dar sa scrii un formular de cautare in care submitul se face doar prin javascript? Chiar nu iti dai seama ca i-ai terminat pe toti cei care intra de pe terminale non-standard? Sau e nevoie sa intri chiar tu intr-o zi de pe un telefon mobil, intr-un moment de urgenta, sa cauti ceva pe un site, si sa nu poti sa faci asta pentru ca respectivul programator nu a pus buton de submit. “Pentru ce? Nu poate sa dea enter?”. Nu.
Asadar, un site trebuie sa functioneze 100% chiar si cu javascript dezactivat. Iar atunci cand este activat, sa nu fie nevoie sa am grija unde dau click pentru a nu naviga de pe pagina curenta unde am informatii importante. Vreau sa am incredere ca acel click pe care il fac pe linkul din meniu nu imi va strica experienta navigarii pe site. Acest lucru se cheama “non obtrusive javascript”, iar directia spre care ar trebui sa tindem toti se cheama “accesibilitate”.
Pune un comentariu



” Javascriptul ar trebui sa fie bonus, nu esential! “
True.. I hate javascript, si ma oftic cand trebuie sa-l folosesc.
Andrei,
Pozitia mea fata de “site 100% functional fara javascript” e mai moderata, in sensul ca nu consider asta o conditie fara de care nu se poate.
Da, informatia trebuie sa fie accesibila si celor fara javascript (mai sunt astfel de oameni, in 2007?) dar, practic, nu e inotdeauna nevoie.
Ai mare dreptate cu butonasele de help — problema este lipsa unui pattern agreat de toti.
Iar modul in care se deschid pozele din linkuri, in Expression Engine… e atat de 2005!! :p
“Sau e nevoie sa intri chiar tu intr-o zi de pe un telefon mobil, intr-un moment de urgenta, sa cauti ceva pe un site, si sa nu poti sa faci asta pentru ca respectivul programator nu a pus buton de submit. ‘Pentru ce? Nu poate sa dea enter?’. Nu.”
:D, aici ma simt, kind of… OK, poate bagam un buton de submit la jobber search :).
true, m-am lovit si eu, ca o posibila solutie:
eu evenimentele la care userul nu stie la ce sa se astepte si folosesc JS sau Ajax sau altceva le folosesc pe butoane, linkurile sunt linkuri.
exemplu misto de accesibilitate la poze e galeria lui skid, ai js – face popup frumos, n-ai – vezi poza din href.
Eu folosesc la firefox click dreapta si selectia open in new tab … e un pic mai complicat ca e din doi pasi … dar dupa ce iti intra in reflex e o metoda mai buna decat middle click. Despre developeri, eu consider ca sunt doua grupuri. Primii nu accept sugestiile si cred ca au scos cea mai mare opera de programare (chiar daca nu respecta standardele sau indeparteaza anumiti utilizatori) si sunt cei care accepta sugestiile si imbunatatirile. Cei din urma, chiar daca gresesc, isi dau seama si indereapta greseala. Ba mai mult, vor invata de pe urma greselei si nu o vor mai repeta.
@filip: chiar nu ma refeream la tine, nici nu observasem :)
@cti: care e diferenta dintre middle-click si right-click+open in new tab?
la mine cel putin fac exact acelasi lucru…
Adevarul este ca traim in perioada in care toata lumea vrea sa foloseasca framework-urile de JS la maxim, dar multi dintre cei ce le folosesc nu se gandesc si la eventualele consecinte ce deruteaza user-ul insa nu consider un om ca fiind “user” daca are java scriptul dezactivat la browserul lui.
Imi place Javascript, dar de multe ori si mie mi-e frica sa apas “middle click” in firefox :)) Javascriptul e ceva extrem de bun si atractiv daca e folosit cum si unde trebuie.
Cam greu sa standardizezi un sistem de navigatie in vremurile astea… acum cand ai de ales intre plain html, javascript + ajax, flash, silverlight(?)… si toata lumea vrea inovatie, siteuri cool si tehnologii noi
Un minim de solutii s-ar putea gasi… cum ar fi:
- un set standardizat de culori pentru… pop-up, _self, _blank ?
- iconite speciale cum sunt cele pentru external links folosite de wikipedia… ?
- specificat tipul link-ului in title=”" alaturi de alte informatii ?
aia cu culorile e prea tare. daca eu am un site alb/negru? :)
ma rog… erau niste idei… :P
ideea de baza era ca tipul linkurilor sa fie diferentiate
adica… poti aplica tema sitului tau peste ce am zis mai sus… si poti alege ce te prinde mai bine – de dragul usability-ului
si eu m-am gandit ca ar fi o idee sa le codificam cumva. dar apoi mi-am dat seama ca de fapt problema e alta: EU decid unde mi se deschide respectiva informatie, daca o vreau intr-o fereastra noua, intr-un tab nou, sau vreau sa fiu surprins de ce se intampla daca dau click simplu. iar cel care dezvolta site-ul trebuie sa se ASIGURE ca informatia aceea e accesibila indiferent ce as alege eu (din cele 3 de mai sus).
cum s-a mai zis, implementarile acelor lightbox-uri sunt ideale: linkul este link, javascriptul vine ca bonus peste acel link.
Haha. :) Si mie mi s-a intamplat des, dar m-am enervat si mi-am luat pe vremea aceea un plugin pentru firefox. Care deschide orice link (cu sau fara js) intr-un tab nou (repet TAB nu o alta fereastra redimensionata).