Kennst Du einen Grund dafür?
Weil die Leute, die diese API erfunden haben, schlechte API-Architekten sind. Viele der W3C-DOM-APIs ließen sich vereinfachen. Man denke nur an das NodeIterator-Desaster.
Der konkrete Grund, dass man getComputedStyle nicht bloß an ein Element koppelt, ist die Existenz von verschiedenen DOM Views. window ist die Default-View des Dokuments. Die Langschreibweise ist daher document.defaultView.getComputedStyle. Theoretisch kann es noch mehrere Views eines Dokuments geben und es sollte möglich sein, die Darstellung für ein Element auch in diesen anderen Views abzufragen. Daher ruft man getComputedStyle auf der View auf und übergibt ein Element anstatt es einfach auf einem Element aufzurufen.
Ergibt eigentlich Sinn, nur wüsste ich nicht, wie man an eine andere View als die Default-View kommt. Zumindest im Browser gibt es immer nur die Default-View. Wie das bei serverseitigem Kram mit XSL-FO ist, weil ich nicht, vielleicht gibt es da verschiedene Views je nach Stylesheet und Ausgabemedium.
Mathias