Hey, I'm jack the guy behind semantic UI. Semantic isn't ready for release yet. A lot of the copy on the site is only currently in draft form. and there are plenty of inconsistencies with the code base itself. Hell, there isn't even a download link. I've been privately been working on the framework trying to get it to a place where i'm happy enough to open it up for outside feedback and it's not quite there yet. The…
This idea is simply false.
> There is nothing semantic about using an 'a' tag to refer to a link or td for a table cell.
HTML tags have defined semantics (and, in modern HTML, that's pretty much exclusively how they are defined, though there's a handful of remaining tags where the semantics refer to presentational conventions of print media, and are so at least quasi-presentational.)
> These codifications make web development less accessible to non programmers.
Only if by "non-programmers" you mean "people who don't read the definitions"; insofar as composing HTML is difficult to non-programmers, it has nothing to do with the defined tag semantics, and insofar as defined tag semantics make HTML difficult for some people, its not really about their skill as programmers.
> Ideally we'd all start going around creating our own top level tags to define user interface
I don't see why this is ideal; indeed, from a maintenance perspective, it seems to be the opposite of ideal.
> but we don't really have that opportunity today.
Sure we do; among other alternatives, XML+XSLT is a real thing supported by browsers.
That's not to say we should do it -- unlike you I think it is far from ideal. But certainly we could do it, using existed, widely-supported technologies.
> The only chance, I believe, we have to build a linguistically semantic web is to build conventions around class names usage
If semantic definitions of tags in standards documents make HTML inaccessible, how aren't semantic definitions of class names relying on knowledge codified outside of standards documents going to do exactly the same thing?