Things changed over the last years and if we keep in mind this stuff is going to be used in many web/mobile games, is it really wrong to use divs this way nowadays?
[emphasis mine]
Sì, usare le div semplicemente per produrre animazioni è l'approccio sbagliato. Non toglie nulla all'eleganza o alla bellezza dell'animazione, ma è semplicemente lo strumento sbagliato per il lavoro.
Lo scopo delle animazioni CSS è quello di fornire animazioni associate a uno stile particolare. Aggiungere un effetto di scorrimento o dissolvenza a un menu a discesa sarebbe un esempio in cui le animazioni CSS fanno parte di uno stile. Trucchi CSS utilizza le animazioni ovunque, ad esempio il colore del menu di intestazione cambia quando viene caricata la pagina. Questi effetti fanno parte dello stile della pagina e non sono legati al markup
L'esempio che hai creato è strongmente legato agli elementi nell'HTML e nessuno di questi è contenuto significativo (semanticamente trasparente). È preferibile archiviare l'animazione in un .gif
non ciclico separato o SVG che può essere animato e stilizzato con CSS e amp; JavaScript.
What are the [effects] of wrong semantics with this animation for the [end user]?
Per un utente ipovedente, usare la semantica sbagliata significa che avranno un'esperienza confusa. Potrebbero dover navigare attraverso una serie di elementi privi di senso che esistono esclusivamente allo scopo di visualizzare un'animazione. In alternativa, possono saltare completamente l'animazione e non comprendere il contenuto che la fa riferimento.
Un <img>
ha un attributo [alt]
allo scopo di spiegare il suo contenuto nel contesto. Se stai utilizzando un gruppo di <div>
s, dovresti essere sicuro di aggiungere [title]
e [role="img"]
attributi sul contenente <div>
(meglio spiegato nel specifica ARIA ).
Per un utente avvistato, probabilmente non ci sarà alcun problema. Al di là dell'accessibilità non c'è davvero un problema con l'utilizzo delle animazioni CSS come modo per creare un'animazione autonoma. Non lo rende un buon strumento da usare. Come un'analogia, se hai bisogno di inchiodare due tavole insieme, puoi usare la maniglia di un cacciavite invece di un martello. Entrambi svolgeranno il lavoro in circostanze normali; tuttavia, uno strumento è ovviamente più adatto per l'uso con le unghie.