Something I ran into while building a personal website was HTML elements tied to styling elements. Some issues were fixed by using the correct semantic element and overriding every unwanted default style, but some styles and features simply aren't available for the correct semantic element. I felt I was constantly abusing the language to get the look and features I wanted.