Tim Tepaße: progress – Bug in Chrome?

Beitrag lesen

Diese ganze Shadow-DOM-Geschichte aktuell in Browsern ist noch ein merkwürdiges Schattenreich. Es existieren die DOM-Strukturen, aber das unnötigerweise.

Weitere Forschungen dazu: Ich habe mich erinnert, dass in früheren Shadow-DOM-Spezifikationen für Bestandteile des shadow trees eigens definierte Peudo-Elemente zum Styling frei geben kann. In Chromes progress-Shadow-DOM geht das im Prinzip auch …

~~~css progress::-webkit-progress-bar {
    background-color: red;
  }

  
… man sieht die Auswirkungen aber nur im Web Inspector, nicht im Renderung.  
  
Dann erinnerte ich mich an [uralte Planungen](https://www.webkit.org/blog/17/the-new-form-controls-checkbox-2/) zum Rendering von Controls in Webkit, nämlich, dass damalige Proto-Shadow-DOM erst dann aktiv wird, setzt man das bepräfixte appearance-property von Webkit auf none. Dies gilt jetzt auch für Blink, d.h. Shadow Dom existiert in etwa:  
  
  ~~~css
progress {  
    -webkit-appearance: none;  
  }  
  
  progress::-webkit-progress-bar {  
    background-color: red;  
  }  
  
  progress::-webkit-progress-value::before {  
    content: "foo";  
    color: white;  
  }

Die Eigenschaft appearance, obwohl in Browsern genutzt ist nicht spezifiziert, auch nicht in Zusammenhang mit Shadow DOM. Das ganze bleibt ein Chaos.