HTML5 for game development is something to stay well clear of, unless you're ready to waste a bunch of time and meet with frustration. I have developed many games in Flash and some in HTML5/JavaScript, some of them being direct ports of each other, so I've had lots of time to experience the broken promises of the HTML5 "standard".
Sound issues are a MAJOR problem, despite what folks like Ravayne claim, especially on the devices where HTML5 was hyped up as the end-all-be-all by Steve Jobs (iPhone, etc.) In other words, the company who championed HTML5, spreading a bunch of provable lies (about Flash) in the meantime, is THE WORST when it comes to HTML5 compatibility (a good chunk of the "standard" simply doesn't work). And even on browsers where audio is somewhat well supported, you often need to specify two or three different audio file types -- one browser supports MP3, another one OGG, another... you get the idea, and it's Apple who has the least support for the fewest types of files, and that support is itself a very limited subset of the HTML5 audio "standard".
People keep claiming that up-coming HTML5 standard X or standard Y are great reasons to ignore the broken promises of the past. In other words, it never worked to begin with and the "standards" have only gotten worse since, so for sure it'll be better this time!
Apple, via blatant thief (he said it, not me!) Steve Jobs, was responsible for delivering the initial pack of misinformation, but browser manufacturers have certainly helped to expand on them.
As a quick example, have a look at this site: http://html5test.com/
Another example for audio (in)compatibility: http://areweplayingyet.org/
The simple fact that HTML5 compatibility is SO unreliable that it requires a website to tell you how broken your app/game will by in various browsers is proof of what I've just claimed. The fact that jQuery exists is yet another -- why do we need a whole JavaScript libary just to make sure that the HTML "standard" is supported by all browsers? Simple--the claim is bogus.
And anyone who wants to dig up W3C documentation as evidence of a standard only prove their own lack of knowledge on the subject -- a standard on paper alone is no standard at all. Up-coming "standards" like WebRTC are just more examples what I'm describing.
Try a Google search for HTML5 and see how many articles make the claim that HTML5 and JavaScript are completely unrelated and separate -- the ignorance out there is staggering and almost unquestioned, but they have no problem describing how it's the future and how you NEED to be on the bandwagon.
Flash is your best bet for cross-platform delivery, power, and ease of production (it's an excellent platform for game development, and it's guaranteed to run on all browsers and on mobile as apps using the same code base -- little to no rewriting required). If you try something as simple as a spritesheet animation in HTML5 -- absolutely core to game programming -- you'll discover what a bad bad joke is being foisted on companies and game developers. This is why both Amazon and LinkedIn dumped HTML5 like a steaming pile of donkey turds -- the promise didn't meet reality.
If Flash isn't your thing, something like Unity3D is a great option that will work across browsers/devices and gives you plenty of space to expand when you want your games to have a bit more kick. I haven't worked much with it but I know for a fact that you'll have a much better time of it than HTML5.
Flash is available as a 100% open source solution (you can use FlashDevelop or Adobe/Apache Flex). I bet you'll find lots of commentary claiming the exact opposite, usually alongside claims that HTML5 is the best and only alternative. Lies lies lies lies lies...
That all being said, HTML5 has a lot of promise. It is capable of doing today what Flash was able to do in the early 2000s (in fact, modern JavaScript and ActionScript 1 are VERY similar-looking languages), and if you're willing/able to cut functionality out when you discover you won't be able to implement it then it might be worth a try. You can, of course, just target specific browsers; that could work but you have to be careful that you're targeting the correct version of whatever browser you want to use (for example, the latest version of Internet Explorer). You will need to deal with performance issues; again, supporters trumpet how fast JavaScript interpreters have gotten but without putting into context (compared to MOST other technologies, JavaScript performance sucks, but good luck finding an honest and side-by-side comparison). Additionally, JavaScript/HTML5 content tends to be FAR bigger than comparable content in Flash -- in a simple experiment using simple animation I determined that the same content with the same functionality was anywhere from 3 to 10 times larger than the same content/functionality in Flash. There are many reasons for this, but the overarching reason is simply that HTML5 is a very limited and immature "standard". Earlier HTML "standards" are equally spotty and unreliable.
If you're just looking to play around, HTML5 and JavaScript are probably the most accessible (you need a browser and a text editor), but I would highly recommend taking those skills and transferring them to something like ActionScript or even Java. C++ is a great language for sheer performance but it requires a learning curve.