Bisher ist in der Anwendung noch alles in XHTML geschrieben. HTML5-Attribute wie
text="number"
kommen eher nicht als Lösung in Frage...
Du meinst sicher <input type="number">
. Dieses Attribut exisitierte in XHTML noch nicht, aber ist fester Bestandteil von HTML5. Wenn ein Browser dieses Attribut allerdings in einem XHTML-Dokument findet, dann stört ihn das nicht weiter und er wird es trotzdem nach aktuellem Stand der Dinge (lies HTML5) interpretieren. Die einzige Ausnahme wäre, wenn du den Browser explitizit in den strikten, nicht-fehlertoleranten Modus versetzt hast, das darfst du in diesem Fall nicht machen. Das Attribut gibt dir aber gewisse Vorteile, die du nicht anders erzielen kannst:
- Der Arbeitsaufwand für dich ist geringer
- Die Formularvalidierung funktioniert auch ohne JavaScript
- Die Formularvalidierung ist auch für assistive Technologie und andere Peripherie zugänglich
- Smartphones und andere mobile Geräte können eine spezialisierte virtuelle Tastatur zur Eingabe von Zahlen anbieten
Wenn du bisher nur strikten XHTML-Code geschrieben hast und ihn nun mit HTML5 mischen musst, tut das nachvollziehbar weh, weil es irgendwie einen unsauberen Anschein hinterlässt. Defakto ist aber jeder Kompromiss den du nur Zugunsten der Reinheit deines XHTML-Codes eingegangen bist und in Zukunft noch eingehen wirst eine unsaubere Vorgehensweise. Mittel- und Langfristig solltest du also gleich zu HTML5 greifen und die Dinosaurier ruhen lassen.