Master-Slave Problem Liederbuch: Master-Seite soll nicht neu geladen werden
bearbeitet von@@Linuchs
> Alle Liederbücher (Slaves) fragen im 10-sec-Takt per Ajax den Server nach der aktuellen Nummer.
Warum das denn? Stattdessen wären *server-sent events*{:@en} angebracht. [[MDN](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events), [Dr. Web](https://www.drweb.de/html5-server-sent-events-per-javascript-auf-server-requests-reagieren-39032/), [html5rocks](https://www.html5rocks.com/en/tutorials/eventsource/basics/), [w3schools](https://www.w3schools.com/html/html5_serversentevents.asp)]
> ~~~html
> ...
> <a class=regie onclick="javascript:regie_sende( 'text','#lied_01' )" title="Nr. 1 an Slaves senden"></a>
> ...
> ~~~
>
> Statt `<a>` habe ich es auch mit `<div>` versucht.
Nein, das ist grundverkehrt.
**Niemals auf `click`-Events von nicht-interaktiven Elementen (wie `div`) lauschen** (bzw. nicht-interaktiven Elemente als *target*{:@en} bei *event delegation*{:@en} verwenden), **damit die Anwendung allgemein bedienbar ist.**
Nicht-interaktive Elemente sind nicht in der Tab-Reihenfolge und prinzipiell nicht anclickbar. Sie mögen für einen Teil der Nutzer bedienbar sein, für einen anderen Teil aber unbedienbar.
Das `a`-Element ohne `href`-Attribut ist aber auch kein interaktives Element. `a`-Elemente sind für Links da. Wenn kein Link, dann kein `a`-Element. **Für Aktionen sind `button`s zu verwenden.**
LLAP 🖖
--
“When UX doesn’t consider *all* users, shouldn’t it be known as ‘*Some* User Experience’ or... SUX? #a11y” —[Billy Gregory](https://twitter.com/thebillygregory/status/552466012713783297)
Master-Slave Problem Liederbuch: Master-Seite soll nicht neu geladen werden
bearbeitet von@@Linuchs
> Alle Liederbücher (Slaves) fragen im 10-sec-Takt per Ajax den Server nach der aktuellen Nummer.
Warum das denn? Stattdessen wären *server-sent events*{:@en} angebracht. [[MDN](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events), [Dr. Web](https://www.drweb.de/html5-server-sent-events-per-javascript-auf-server-requests-reagieren-39032/), [html5rocks](https://www.html5rocks.com/en/tutorials/eventsource/basics/), [w3schools](https://www.w3schools.com/html/html5_serversentevents.asp)]
> ~~~html
> ...
> <a class=regie onclick="javascript:regie_sende( 'text','#lied_01' )" title="Nr. 1 an Slaves senden"></a>
> ...
> ~~~
>
> Statt `<a>` habe ich es auch mit `<div>` versucht.
Nein, das ist grundverkehrt.
**Niemals auf `click`-Events von nicht-interaktiven Elementen (wie div) lauschen (bzw. nicht-interaktiven Elemente als *target*{:@en} bei *event delegation*{:@en} verwenden), damit die Anwendung allgemein bedienbar ist.**
Nicht-interaktive Elemente sind nicht in der Tab-Reihenfolge und prinzipiell nicht anclickbar. Sie mögen für einen Teil der Nutzer bedienbar sein, für einen anderen Teil aber unbedienbar.
Das `a`-Element ohne `href`-Attribut ist aber auch kein interaktives Element. `a`-Elemente sind für Links da. Wenn kein Link, dann kein `a`-Element. **Für Aktionen sind `button`s zu verwenden.**
LLAP 🖖
--
“When UX doesn’t consider *all* users, shouldn’t it be known as ‘*Some* User Experience’ or... SUX? #a11y” —[Billy Gregory](https://twitter.com/thebillygregory/status/552466012713783297)