CSS is actually quite rigid. But the most basic properties of the web, namely the diversity of devices (and thus sizes) make it impossible to go beyond a certain level of specification.
Screen readers read the screen. Aural browsers read the HTML - but AFAIK there's not a single non-experimental aural browser out there.I'm not sure how much screen readers read the screen and how much they read the underlying HTML.