В 2002 году, W3C начал разрабатывать XHTML 2.0, язык решили делать с нуля, что привело к проблемам совместимости с предыдущими версиями языков HTML и XHTML.

Одно из направлений движения развития HTML заключается в том, чтобы каждый тег имел свою семантику (т.е. что-то обозначал). Любые данные находящиеся между тегами, должны обладать своей смысловой нагрузкой. Программа которая анализирует сайт, должна понимать какой вид данных находится между тегами.