<html><head></head><body>
<article>lorem ipsum</article>
<nav></nav>
<form>search</form>
<footer></footer>
</body></html>
That way screen readers, search engines, etc will get the important stuff first and less important stuff afterwards.But since the common way of presenting blog is more like this:
<nav></nav> <form>search</form>
<article></article>
<footer></footer>
I either have to do some hacky position:absolute things, crazy floats with negative everything, or just reorder the markup. Crazy and hacky is not fun to maintain, so I have to reorder the markup. That's because CSS is made for changing fonts and colors, and not for layouts.