Yes this is per specification. Form elements and images are “replaced elements” https://developer.mozilla.org/en-US/docs/Web/CSS/Replaced_element – discussed in length here why it doesn’t work http://www.red-team-design.com/css-generated-content-replaced-elements. TL;DR – browsers have different ways of implementing replacing, and adding :after to that would have worsened that.