Nun möchte ich aber sowohl das Dezimalkomma als auch den Dezimalpunkt zulassen.
Das würde ich lassen, damit arbeitest du entgegen dem Standardverhalten der Browser und damit entgegen der Erwartungen des Nutzers. Ich gebe aber zu, dass die Formular-Lokalisierung der Browser viele Wünsche offen lässt. Du könntest den Eingabetypen zurück auf text
setzen und die gültigen Zahlen mit einem regulären Ausdruck und dem pattern
-Attribut validieren. Aber dann geht die semantische Information verloren, dass eine Zahl erwartet wird. Eine Folge ist, dass Smartphones keine spezifischen virtuellen Tastaturen einblenden. Damit schränkst du die Bedienbarkeit und Zugänglichkeit nur weiter ein.
Im Firefox kannst du das lang
-Attribut auf dem input
-Element setzen, dann verwendet FF eine Zahlendarstellung, die für die angegebene Sprache hinterlegt ist. Chrome ignoriert das Attribut und benutzt scheinbar immer das Zahlenformat, das für die im Browser eingestellte Defaultsprache hinterlegt ist. Edge und Safari habe ich nicht ausprobiert.