> There’s a reason why the class attribute exists. You can also validly use custom elements and attributes
To hammer this home - there is nothing bad about divs when it comes to accessability which, to be honest, is the only concern that "semantic html" should be about.