They can use id's, classes, rel, alt and title, I think.
I agree that overuse of div's and spans is wrong but classes and id's can be added to alot of html elements not just div's and spans, and this can be very useful for css, javascript and microformats, etc..., it's the naming of these classes and id's that are often non semantic.