Hier nochmal eine Version, bei der ich das required dort eingefügt habe, wo ich's für richtig und notwendig halte.
Das "required" funktioniert übrigens wie erwartet, wenn ich diese HTML-Datei im Browser öffne - obwohl es keine korrekte Struktur hat.