W języku HTML, aby dodać animację Flash (z rozszerzeniem .swf) na stronę internetową, należy użyć znacznika
Znacznik <object> jest właściwym wyborem, bo w HTML służy do osadzania zewnętrznych zasobów, które nie są zwykłym obrazem, dźwiękiem ani filmem obsługiwanym natywnie przez przeglądarkę. Historycznie animacje Flash w plikach .swf umieszczało się właśnie przez <object>, często z podaniem atrybutów data, type, width i height, np. <object data='animacja.swf' type='application/x-shockwave-flash' width='600' height='300'></object>. Taki zapis informował przeglądarkę, że ma załadować obiekt zewnętrzny obsługiwany przez odpowiednią wtyczkę. Moim zdaniem warto przy tym zapamiętać ważną rzecz praktyczną: Flash jest dziś technologią wycofaną i niezalecaną, głównie z powodów bezpieczeństwa, wydajności i braku wsparcia w nowoczesnych przeglądarkach. W nowych projektach zamiast .swf stosuje się HTML5, CSS animations, JavaScript, SVG albo zwykłe wideo przez <video>. Jednak w pytaniach dotyczących klasycznego HTML-a i starszych stron WWW poprawnym skojarzeniem dla pliku .swf nadal jest <object>. To też pokazuje dobrą zasadę: dobieramy znacznik do typu osadzanej treści, a nie tylko do tego, że coś się rusza na ekranie.
W tym pytaniu łatwo pomylić animację Flash z innymi multimediami, bo na stronie użytkownik widzi po prostu coś, co się odtwarza albo porusza. Technicznie jednak znaczniki HTML mają konkretne przeznaczenie i nie są zamienne jeden do jednego. <audio> służy do osadzania dźwięku, na przykład plików MP3, OGG albo WAV. Nie nadaje się do animacji .swf, bo przeglądarka potraktuje go jako element audio, a nie jako zewnętrzny obiekt wymagający odpowiedniego typu MIME lub dawnej wtyczki Flash Player. <img> jest przeznaczony do obrazów rastrowych i niektórych formatów graficznych, takich jak JPG, PNG, GIF, WebP czy SVG w typowych zastosowaniach. Sam fakt, że plik Flash może wyświetlać grafikę, nie oznacza, że jest obrazkiem. To częsty błąd myślowy: oceniamy efekt wizualny, zamiast patrzeć na format i mechanizm osadzania. <video> z kolei dotyczy filmów obsługiwanych natywnie przez HTML5, na przykład MP4/WebM, z kontrolkami odtwarzania, ścieżkami napisów i buforowaniem multimediów. Plik .swf nie jest standardowym plikiem wideo HTML5. Do takich zewnętrznych treści stosowano <object>, ewentualnie dawniej spotykało się też <embed>, ale w poprawnym, bardziej uniwersalnym podejściu wskazuje się właśnie <object>. Z mojego doświadczenia najprościej zapamiętać: obrazek to <img>, dźwięk to <audio>, film HTML5 to <video>, a nietypowy osadzany zasób zewnętrzny, taki jak stary Flash, to <object>.