I was having this discussion with one of my colleagues. He created a piece of code that put an a-href around an object where a flash is to be loaded. When I saw this I almost cried out and told him to use the clickTag instead.
He told me that it works fine with the a-href. I checked it out, and the code worked fine in ie6-8 and firefox (all having flashplayer 9 or 10 installed).
Since I KNEW that its a really bad idea to use a-href I did a little research about why not to use it.
From there I checked out the standards (http://www.w3.org/TR/html401/struct/objects.html) and googled around.
But I did not find any explanation why it should or should not work (I know sometimes it does not work).
We ended up with a solution to use both - the surrounding a-href and passed the clickTag (fyi: we do not know what kind of swf will be displayed since it comes from a cms).
Why does the a-href/flash sometimes work and sometimes it does not and what would be the "standard" way to do something like that? What about other included objects (svg/movie/audio/..?) Is there a standard that defines how such things (as clicks on embedded objects like flash or a media player) are handled (ie. the javascript way to stop propagating the click event)?
There is no standard against it, but it will definitely lead to unpredictable results across different browser/platform combinations. Doing a simple search and going through the results shows that there are many people who have had issues with just hyperlinking the swf.
Adding both the hyperlink and the clickTag is rather pointless, you're duplicating the functionality since if the visitor has the correct version of Flash then they're going to get the Flash movie and the clickTag is going to be used. What you should do is have the hyperlink as a fallback, so that if Flash isn't installed then people can still access your hyperlink. Libraries such as SWFObject make this very easy to do.