Kibana version: 6.3.0
Browser version:chrome latest
Browser OS version: os x
Original install method (e.g. download page, yum, from source, etc.): from downloads
Describe the bug: With KQL switched on - if you start typing your search query term in search bar - screenreader announces what you are typing but there is no indication that user can select query terms with auto-complete.
Steps to reproduce:
Screenshots (if relevant):

I took a swing at this today but couldn't manage to get it working. I tried using aria-owns but didn't have any luck with it. There might be better options or I may have been using it incorrectly. There are probably more significant changes that need to be made though, I noticed the auto complete options aren't read out even when you focus them with the keyboard. Someone with more accessibility experience than myself will probably have better luck.
Note that this problem exists for KQL and lucene, it's just more obvious with KQL since lucene only uses the typeahead to display recent searches.
@aphelionz do you have any inputs? cc @timroes / @rayafratkina / @AlonaNadler Thanks!
For auto completion using aria-activedescendant is usually the best choice, since that tells the a11y software, that another element is actually the currently focused one, than the one that has the focus.
You can have a look at the timelion autocompletion which should be accessible: https://github.com/elastic/kibana/blob/master/src/core_plugins/timelion/public/directives/timelion_expression_input.html#L29
The general working:
role="combobox"aria-expanded=true/false (depending on whether the auto completion is currently showing or not)aria-haspopup="true" (always!)aria-owns="idOfAutocompletionListWrapper"aria-autocomplete="list"aria-controls="idOfAutocompletionListWrapper"role="listbox" on the list wrapping elementrole="option" on the individual suggestionsaria-label on the individual suggestions that should be read out to screen reader. By default the content will be used, and that should be fine (unless you figure out there is too much "noise" elements in it.aria-activedescendant attribute on the input box always point to the id of the currently focused suggestion.If you come into troubles implementing or testing, please feel free to ping me, we can also setup some pair programming to solve that.
Thanks Tim, I'll give this another shot with your advice
Thanks Tim for the help, you're a boss. I did exactly what you said and it worked first try. Here's the PR https://github.com/elastic/kibana/pull/20740
Most helpful comment
For auto completion using
aria-activedescendantis usually the best choice, since that tells the a11y software, that another element is actually the currently focused one, than the one that has the focus.You can have a look at the timelion autocompletion which should be accessible: https://github.com/elastic/kibana/blob/master/src/core_plugins/timelion/public/directives/timelion_expression_input.html#L29
The general working:
role="combobox"aria-expanded=true/false(depending on whether the auto completion is currently showing or not)aria-haspopup="true"(always!)aria-owns="idOfAutocompletionListWrapper"aria-autocomplete="list"aria-controls="idOfAutocompletionListWrapper"role="listbox"on the list wrapping elementrole="option"on the individual suggestionsaria-labelon the individual suggestions that should be read out to screen reader. By default the content will be used, and that should be fine (unless you figure out there is too much "noise" elements in it.aria-activedescendantattribute on the input box always point to the id of the currently focused suggestion.If you come into troubles implementing or testing, please feel free to ping me, we can also setup some pair programming to solve that.