beatovich: window.location.hash versus element.focus()

hallo

Um in einer etwas komplexen App die Navigation zu gewährleisten, nutze ich derzeit sehr oft

window.location.hash = "#exampletarget";

Das erzeugt einen history-Eintrag, dem nicht wirklich eine adäquate Funktionalität entspricht (ausser dass ich über Browser-Back zusätzlich im gegenwärtigen DOM navigieren kann).

Voraussetzung ist eine id im Ziel.

Es tut auch nicht das gewünschte, wenn ich eine Tab-Taste in einer Navigation rotieren lassen will. Da will ich ja nicht die Navigation focusieren, sondern den ersten Eintrag

Die Alternative wäre element.focus()

Hier bin ich gefordert, tabindex="0" zu definieren, falls das Ziel nicht direkt fokusierbar ist. Bei allen Zielen versuche ich aria-label zu berücksichtigen.

Hier nun die Frage: Was bietet generell die bessere Experience, focus oder location.hash?

Die betroffene Anwendung generiert Inhalte ausschliesslich über javascript. Bookmarking von bestimmten GUI-Zuständen ist nicht vorgesehen.

  1. hi,

    Hier nun die Frage: Was bietet generell die bessere Experience, focus oder location.hash?

    Für was? Für die History etwa? Völlig falsch! Dafür gibt es history.pushState() Punkt.

    MfG

    1. hallo

      hi,

      Hier nun die Frage: Was bietet generell die bessere Experience, focus oder location.hash?

      Für was? Für die History etwa? Völlig falsch! Dafür gibt es history.pushState() Punkt.

      MfG

      Ich möchte den User an ein klar definiertes Ziel führen. Wenn ich ein Element navigiere oder fokusiere, möchte ich auf jeden Fall den Beginn des Elements aktiviert haben, und die nächste Tab-Taste soll unbedingt das Erste fokusierbare Kind-Element fokussieren.