User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36
Steps to reproduce:
<button><span aria-hidden="true">This text should not be read aloud</span> Submit</button>
Test case here: http://jsbin.com/urAfuREt
The aria-hidden span was read aloud by VoiceOver, read as “This text should not be read aloud Submit button”
The aria-hidden span should have been ignored by VoiceOver, should read “Submit button”
After a little additional research, it seems like aria-hidden is ignored by Firefox?
More extensive test case: http://jsbin.com/Idunaruq/1
Orthogonal to the aria-hidden, there is a wrinkle in this test case:
<span><span class="icon-star" aria-hidden="true"></span> Favorite</span>
is read as "Favorite" and
<button><span class="icon-star" aria-hidden="true"></span> Favorite</button>
is read as "Black Star Favorite"
I suspect that nsTextEquivUtils::GetNameFromSubtree doesn't take aria-hidden into account.
There has been a lot of debate over the years about aria-hidden implementation. An example from last year is bug 780888.