<div id="b7">
<div id="b71">
<div id="b71">
<div id="b71">
<div id="b71">
...
[1] http://www.w3.org/TR/2013/WD-html51-20130528/dom.html#the-id... <div id="b7">
<div id="b71">
<div id="b71">
<div id="b71">
<div id="b71">
...
[1] http://www.w3.org/TR/2013/WD-html51-20130528/dom.html#the-id...It's also an easy mistake to make. All someone has to do is create an element with an ID in a child template without checking to see if that ID is already used in a parent template.
On the note of forgiving browsers, I love how they are a very accepting interpreter of information, much like a human listening to someone's broken English and still understanding what is being said.
Multiple elements with the same ID is wrong of course, so you can't guarantee what will happen if you use and ID based selector: three equally (in)correct interpretations would be "act on the first element you find with that ID", "act on all elements with that ID", and "error because we don't expect to find more than one". By breaking the standard you are exposing yourself to undefined behaviour - the browser can do what it likes and each environment might do something different.