Description
So, I'm reading the Chrome code, and looking at 2c-2e and I'm thinking a big simplification would be to reorder it so that the current 2E comes before 2C, then 2D.
Right now, 2C is basically saying, maybe do 2E now if we have an aria-label, and then stop. But if if there is no aria-label, then it will let native markup attributes take precedence over the value. It's very confusing that 2C is saying to do 2E first. So then why do we have that order at all?
It's much simpler and works just as well for any use cases I know of to say:
New 2C) If from descendant recursion and labelling another widget, use value if available [ was old 2E ]
New 2D) Otherwise, use non-empty aria-label if available [ was old 2C ]
New 2E) Otherwise, use native markup if available [ was old 2D ]