Hallo,
ich melde mich heute mit einer Auffälligkeit, die seitens eines unserer Webentwickler entdeckt wurde.
Vorab zur Information: aktuell stellt diese Auffälligkeit kein technisches Problem dar und "Es bedarf schon eines speziellen Ablaufs, damit das Problem auftritt", es wäre jedoch interessant zu wissen, ob es sich hierbei um einen Bug oder ein gewünschtes Verhalten handelt.
Im Anhang ist ein simpler Reproducer zu finden (inkl. HowTo), mit dem das Verhalten nachgestellt werden kann (bitte in .html wandeln).
Insgesamt geht es um eine zu übernehmende Wertänderung auf Basis eines Auswahlfeldes (nach meinem Verständnis, ich bin selbst leider kein Webentwickler). In chromiumbasierten Browsern tritt das gewünschte Verhalten auf (Wertänderung wird erkannt und korrekt dargestellt), in Firefox leider nicht (Wertänderung wird nicht erkannt, alter Wert wird weiterhin angezeigt).
Die zugehörigen, relevanten Fragen der Entwickler wären folgende:
- Hat Firefox einen Bug und implementiert die Spezifikation nicht korrekt? (1)
- Hat Chromium einen Bug und Firefox funktioniert korrekt entsprechend der Spezifikation? (2)
- Funktionieren sowohl Firefox und Chromium korrekt, weil die Spezifikation einfach einen gewissen Spielraum lässt? (3)
Entwicklungstechnischer Hintergrund:
"Die Fälle (2) und (3) bedeuten letztlich, dass sich das Verhalten von Chromium jederzeit ändern könnte. Der Problem ist aber sehr fies und schwer zu erkennen. In der Beispiel-HTML-Datei würde ein Anwender denken, dass er „Alte Auswahl“ ausgewählt hat, denn das sieht er. Drückt er nun auf einen Speichern-Button, dann würde er davon ausgehen, dass er „Alte Auswahl“ speichert. Moderne Web-Anwendungen machen im Hintergrund viel mit JavaScript und haben eine interne Darstellung der Daten, die auf der Oberfläche angezeigt werden (das ist das, was die Anzeige unter „Neuer Wert“ versucht zu simulieren – der interne Zustand der Anwendung). Wenn dann gespeichert wird, dann wird der interne Zustand in der Anwendung genommen, denn dieser interne Zustand und die UI sollten synchron zueinander sein. Oder anders: Die UI ist eine Repräsentation des internen Zustands. - Wegen des Problems sieht der Nutzer das eine und der interne Zustand enthält aber etwas ganz anderes.
Wird nicht geklärt, ob überhaupt und falls ja wo (Firefox VS Chromium) ein Bug vorliegt, dürfte man solche Vorbelegungen nicht mehr vornehmen, denn man könnte nicht ausschließen, dass ggf. irgendwann – z.B. mit dem Ausrollen einer neuen Chromium-Version – plötzlich dieses Problem in der Anwendung auftaucht und ab dann fehlerhafte Daten ins System kommen."
Sollten weiterführende Informationen benötigt werden, versuche ich gerne, diese zeitnah in Erfahrung zu bringen.
Die ESR-Versionen wurden mit einem bestehenden Policy-Set getestet, die "Consumer" Version auf einer Standardinstallation ohne Veränderung von Einstellungen, Flags etc. In allen Fällen ist das Verhalten identisch.