I was able to scare up some additional reasons to use lang:

  • Default font selection for CJK languages (very politically important, there’s still hurt feelings over how Unicode handled them)
  • The quotation marks around <q> change with the language
  • CSS’s ::first-letter pseudo-element can behave badly in non-English languages without lang. Other upcoming CSS typographical niceties like hanging punctuation are also likely to require it.
  • The spellcheck attribute needs it to function properly, especially for multilingual users, as browser heuristics aren’t perfect
  • Input types for dates and times are also need it, because around the world there is absolutely no de facto standard for writing them up. This huge variance is partly why browsers have been so slow to implement these types.