Dinoer

Der Barrierefreiheitsbaum

Die gleiche Seite als Text, erstellt vom Browser selbst. Das kostet fast nichts, und für viele Aufgaben ist dies die einzige Ansicht, die Dinoer jemals benötigt.

Jeder Browser erstellt eine zweite Repräsentation der Seite, die er anzeigt: einen Baum aus Rollen und Namen, der für assistive Technologien gedacht ist. Ein Bildschirmleseprogramm verwendet ihn, um zu sagen „Button, Anmelden“, anstatt Pixel zu beschreiben.

Es ist nichts, was Dinoer erfindet. Es existiert bereits, auf jeder Seite, die jemals geöffnet wurde, und es stellt genau das dar, was ein Sprachmodell benötigt – weshalb es für Dinoer nicht eine von mehreren Optionen ist, sondern der primäre Weg, wie eine Seite gelesen wird.

Wie es aussieht

/opt/dinoer/venv/bin/python3 /opt/dinoer/shot.py \
  --url https://example.com --a11y --guide-version 1.6
- heading "Example Domain" [level=1]
- paragraph: This domain is for use in documentation examples without needing permission. Avoid use in operations.
- paragraph:
  - link "Learn more":
    - /url: https://iana.org/domains/example

Echte Ausgabe, etwa tausend Millisekunden, ohne jeglichen Rendering-Schritt – --a11y gibt den Baum zurück und nichts weiter. Es gibt keinen separaten “Schnellmodus”, den man aktivieren könnte: Da es im Tool keine Screenshot-Funktionalität mehr gibt, ist dies einfach die Art und Weise, wie Dinoer eine Seite liest.

Was es transportiert, das rohes HTML verbirgt

Rollen: heading [level=1], link, und – auf einer Formularseite – textbox, combobox, button. Nicht „ein Rechteck mit abgerundeten Ecken,“ sondern was das Element ist.

Ziele. link "Learn more" gefolgt von /url:. Wohin es geht, bevor Sie klicken.

Struktur. Was worunter verschachtelt ist, ohne die Hunderte von Layout- <div>s, die das menschliche Auge automatisch herausfiltert, ein Token-Budget aber nicht.

Es ist oft schon allein ausreichend

Vier Seiten, drei Anfragen, ein Schlüsselwort gefunden mit seinem umliegenden Kontext – und keiner Browser-Rendering-Schritt wurde zu irgendeinem Zeitpunkt ausgeführt.

Der Baum ist für eine ganze Klasse von Aufgaben selbsterklärend: Suchen nach Text oder einem Tag, Navigation per Links, da jedes href vorhanden ist, Überprüfung, ob ein Element vorhanden ist, Erkundung der Organisation einer Seite. extraire_texte beginnt dort, wo die Struktur des Baums keine Rolle mehr spielt und nur noch der Text der Seite wichtig ist. Die beiden Ansichten nebeneinander →

Ein Canvas-Element, ein anklickbares Bild ohne zugängliches Label – diese Elemente haben nichts, was das System anzeigen könnte, und Dinoer hat keine Ausweichlösung dafür. Das ist eine echte, explizit genannte Einschränkung, keine versteckte. Was die Wahrnehmung nicht erreicht →

Warum das über Dinoer hinaus wichtig ist

Eine Seite mit einem gut aufgebauten Accessibility-Baum ist für einen Bildschirmleser, eine Suchmaschine und ein Programm – einen Agenten – lesbar; derselbe Baum dient allen dreien. Eine Seite, die ihre Schaltflächen mit formatierten <div>s gestaltet, ist für alle drei gleichzeitig undurchsichtig. Der Baum ist keine Barrierefreiheitsfunktion, die zufällig Maschinen hilft. Er ist die Struktur der Seite, die explizit gemacht wird – und wer die Seite erstellt, entscheidet darüber, ob diese Struktur existiert.

Kurz gesagt

  • Der Browser erstellt diesen Baum für jede Seite, für assistive Technologien.
  • Er enthält Rollen, Ziele und Struktur – ein Bild enthält davon nichts als Text.
  • --a11y liefert es ohne Rendering-Schritt, in etwa einer Sekunde.
  • Eine zugängliche semantische Darstellung bedeutet keinen Ausweichmechanismus – greifen Sie für Prosa auf extraire_texte zurück und akzeptieren Sie die tatsächliche Grenze, wo keines hilft.