Due to some changes in Firefox, a bug was uncovered that both earlier versions of Firefox and current versions of Chrome are masking. When initially constructing the text input, after #129 was fixed, aria-activedescendant already points to the ul with ID ´compose-autosuggest-list-home`. That UL, since nothing has been typed yet, or when no suggestions are available, is inside a div that is aria-hidden="true", and thus also hidden. Firefox is, however, due to a bug I still need to file, creating an accessible for it for some reason now. That accessible is now masking the input field. The result is that I am not able to see what I am typing, and focus is inside a list that is essentially not there.
To fix, it would be best if aria-activedescendant was not set initially, and only gets set if the list is visible and a list item actually needs to be focused due to it being an autocomplete result. If the autocomplete goes away, and the list is hidden, aria-activedescendant should be cleared again. Meaning the attribute be removed.
The text was updated successfully, but these errors were encountered:
Just to check: it looks like initially, aria-owns points to compose-autosuggest-list-home (which is indeed inside of an aria-hidden), but aria-activedescendant is initially set as an empty string. Are you saying that aria-owns should not be set if the list is hidden, or that aria-activedescendant should be undefined rather than an empty string?
Also, which version of Firefox should I test to repro the bug? Is this only in Nightly?
This is in Nightly and Beta or Dev Edition. aria-activedescendant is always set for me, it is not an empty string when the empty text area gains focus and I explore its properties in HTML inspector. For safety, I think it should be undefined rather than an empty string..