E' vero, ero rimasto un po' indietro, ora i controlli li fanno anche Firefox e IE11.
Il problema è che con Firefox effettivamente il codice qui sopra funziona, mentre con Chrome e IE no, ma è Firefox che sbaglia. Da quel codice manca un elemento essenziale, che è il value="" nella prima option. Non avendo il valore vuoto, l'opzione non rispetta la definizione di placeholder, per cui è corretto che il required non funzioni. L'attributo disabled non disabilita l'opzione, ma disabilita l'intero campo qualora quell'opzione sia selezionata.