ugrás a tartalomhoz

focus

Burnee · 2011. Ápr. 4. (H), 15.26
Sziasztok!

A honlapokon alapvetően ugye 'tab'-bal tudunk lépkedni az interaktív pontok (<a>, <input>) között. Hogyan szokás elegánsan helyettesíteni a 'tab'-ot és 'shift+tab'-ot a jobbra és balra nyilakkal?
Valamint megoldható e, hogy csak egy adott elemen belül járkáljon körbe-körbe a user a nyilak nyomkodásával?
 
1

Problémás

Poetro · 2011. Ápr. 4. (H), 15.40
Ugye a böngészőkben a jobbra / balra nyilaknak jelentése van (ezzel lehet jobbra / balra görgetni), ezért nem feltétlen szerencsés ezt a működést felülírni. Az én böngészőmben (Opera) a Tab gomb csak a form elemeket járja be, ha minden interaktív elemet be akarok járni, akkor a Shift + Kurzor gombok kombinációt használom (ez a böngésző alapértelmezett működése egyébként).
Azaz hozzáférhetőség és megszokás miatt nem szerencsés, sőt kifejezetten ellenjavallt a megszokott, beépített működést módosítani, mert a felhasználó eleshet az általa használt és preferált működéstől.
Megint másik dolog, hogy billentyűzettel el lehet indítani, és módosítani a tartalom kijelölését.

Amennyiben mégis ki akarsz tolni a felhasználóval, érdemes lehet egy keydown eseménykezelőt a document-re tenni, abban ellenőrizni mely billentyűt nyomta le a felhasználó, majd léptetni a következő aktiválható elemre. Csak sajnos te nem feltétlen tudod jól detektálni, melyik az aktiválható elem, mivel nem csak linkek és form elemek lehetnek aktiválhatók, hanem minden más amire például kattintás eseményt rakott egy script. Valamint azt is fontos észben tartani, hogy a HTML elemeknek van tabindex tulajdonsága, amivel módosítani lehet, hogy az aktuális oldalon mikor következik.

Összefoglalva: szerintem felesleges egy olyan tulajdonságot, amit a böngésző jól csinál, lecserélni olyanra, ami összezavarja a felhasználót, módosít a böngésző működésén, valamint nem lesz konzisztens azzal.
2

csak kérdés

Burnee · 2011. Ápr. 4. (H), 19.41
Csak egy kérdés volt, még nem tudom, használom e majd valahol. A google képkeresője juttatta eszembe.
A 'shift+kurzor'-t külön köszi, nem ismertem.