<!DOCTYPE html>
<html>
 <head>
  <style>
   span { color: red }
   :default + span { color: green }
   span.reverse { color: green }
   :default + span.reverse { color: red }
   input { display: none }
  </style>
 </head>
 <body onload="document.getElementById('foo').type = 'submit';
               document.getElementById('bar').type = ''">
  <form>
    <input id="bar" type="submit"><span class="reverse">This should be green</span>
    <input id="foo"><span>This should be green</span>
    <input type="image"><span class="reverse">This should be green</span>
  </form>
 </body>
</html>