I know it is conventional wisdom that we should put content first in HTML. I've heard two reasons for this: SEO and accessibility. But putting HTML in a different order than it should be displayed complicates CSS significantly and I'm trying to decide if it's worth it.

So, my question to you, fellow web developers, is are there any studies or good articles that justify the practice? I've been putting "skip to content" links in my HTML for years to aid those using screen readers. I've heard that SEO isn't really effected by content order, especially compared to marking up content semantically using headings, titles, etc. Are these measures enough or do I have to continue to use complicated CSS?