W3C

– DRAFT –
ARIA Authoring Practices Task Force

16 August 2022

Attendees

Present
MarkMcCarthy, Matt_King, Rich_Noah, sarah_h, siri BryanGaraventa
Regrets
Curt, Jemma
Chair
Matt King
Scribe
MarkMcCarthy

Meeting minutes

Check in for repo restructure project

Matt_King: what have you learned this last week Rich_Noah ?

Rich_Noah: we had some issues with the linter, but that's fixed. moving on to some other tests, hoping fixes will propogate

Rich_Noah: should know more by tomorrow

Matt_King: have we started looking into stopping actions that publish updates, with gh-pages?

Rich_Noah: yes, but the issue with the linter took longer than anticipated, we'll get back to it and sort out a plan

Multi-Select Listbox Keyboard Guidance

https://github.com/w3c/aria-practices/issues/2193

<Matt_King> github: https://github.com/w3c/aria-practices/issues/2193

Matt_King: essentially, this issue boils down to this selection model being less familiar than some others

Matt_King: i'm not sure i agree with the premise but i want to discuss this with the group

Matt_King: first question I have is: is there agreement or disagreement that the model we're using for listbox is unfamiliar?

sarah_h: i disagree, I think the APGs is better for usability, which I wrote about in more detail in my comment

Matt_King: there are several patterns where we document this kind of multiselect behavior with shift+arrow keys, then if you press an arrow key WITHOUT shift your selection disappears - it's well documented elsewhere

Matt_King: this begs the question - if we're gonna document it, should we demonstrate it or is it useful to demonstrate it? it's a lot of work...

sarah_h: i don't think we should

Matt_King: to me, the visual clue is that if the spacebar checks one (or when holding shift), and pressing an arrow key doesn't make checks go away, it feels very discoverable

sarah_h: i'm not opposed to making a note that it's different from the native select pattern

Matt_King: i thought we already had a note there

sarah_h: under multiselection, it does mention authors may use different patterns or choose among those modifier keys - it doesn't explictly state that this pattern is different from the native pattern

sarah_h: there's a note in the radiogroup pattern that notes differences between ours and native

Matt_King: when we were thinking about a note, i was thinking about it going on the example

sarah_h: me too - i think it makes more sense since the pattern shows BOTH

Matt_King: so should the note say it's different from browser native behavior?

sarah_h: i started drafting something before the meeting, maybe that would be good?

[sarah read her note]

Matt_King: i love that

MarkMcCarthy: +1

sarah_h: i'll add it to a comment on the issue

sarah_h: and figure out a PR

<siri> +1

Matt_King: maybe we'll put it under the notes section under the examples? or maybe accessibility features? You can decide which is most appropriate

sarah_h: notes is probably fine

MarkMcCarthy: +1

Matt_King: would you make it a PR against the move-examples branch?

Matt_King: that should sort out this issue then

New issue action planning

Matt_King: let's look at new issues now

https://github.com/w3c/aria-practices/issues?q=is%3Aissue+is%3Aopen+created%3A%3E2021-08-15+no%3Alabel++sort%3Aupdated-desc

Select-Only ComboBox pattern keyboard support clarifications

github: https://github.com/w3c/aria-practices/issues/2440

sarah_h: currently the up arrow moves it to the selected item

Matt_King: what about if something isn't selected?

sarah_h: since 'choose a fruit' is an option, there's never not something selected

sarah_h: right now, the single select doesn't follow focus; we don't HAVE to send focus to the currently selected but...

Matt_King: i think we should, but I'm thinking about what the default state should be

Matt_King: what would happen if it WASN'T in the list

sarah_h: i don't remember why we put focus in there in the first place

Matt_King: how does HTML select work?

sarah_h: ours mirrors HTML select more - it's impossible to add a placeholder. if you need choose something, it HAS to be in the list

sarah_h: one of the nice things about building your own is you don't have to worry about things too much

Matt_King: what about open_ui?

sarah_h: that's even more flexible

siri: maybe one of the reasons we have that is if a user doesn't want to select ANYTHING

Matt_King: but if you want to return it to its default state of nothing, how do you do that if it's not in the list?

bryan: the way i've done it in the past with aria-select is to allow the spacebar to toggle/unset aria-selected

bryan: the way I was able to do that was, for the roving tabindex model, was to put tabindex=0 on the first item

bryan: after pressing the spacebar, you can tab away with nothing selected

Matt_King: we're combining two behaviors here - 1) selection doesn't follow focus so people can read items without triggering a change.

Matt_King: there's a common expectation though that pressing an arrow or letter will jump to that item, and tabbing away/on.blur leaves it selected

bryan: to me that's confusing

Matt_King: if we made selection follow focus, there's a thought that the display should change if that's the case

sarah_h: also the possibility of esc to cancel

Matt_King: i guess we could have selection follow focus and no tupdate input?

siri: in that case, wouldn't it act more like a radio button then? if there's no way to get back to default

Matt_King: the only way you can select an empty value in is to put an empty value in the list

<siri> https://w3c.github.io/aria-practices/examples/combobox/combobox-select-only.html

bryan: if we're going to have selection follow focus, that can cause trouble for mobile users

Matt_King: so the root question is, do we need the 'choose a fruit' option in the list?

Matt_King: i think it makes it more complicated if it's NOT there

sarah_h: i think it'd be possible to remove it from the list, and just make a 'none' option

sarah_h: the convention having the placeholder text in the list is a byproduct of no placeholder in a native select

+1

Matt_King: if you have 'choose a fruit' as placeholder, then at that point is 'none' selected?

sarah_h: yeah

Matt_King: so that doesn't move us anywhere then i guess

sarah_h: if you as an author want to give people an ability to move to null as an option, it's gotta be there. and 'none' makes more sense

Matt_King: if 'none' is selected, does the placeholder -only- show up on page load and no user interaction?

<siri> can you give correct link?

sarah_h: we could do whatever we'd want with that. we could also add it as a new option

Matt_King: so, are we proposing that, with this hypothetical one, that nothing is slected at all in the beginning - not choose a fruit, not none, nothing.

sarah_h: this is difficult because these considerations would be dictated by real world constraints

Matt_King: the reason up arrow goes to the first item in the list is because the first item is selected by default. if nothing were selected, it could move to the last item

sarah_h: correct

<siri> https://www.w3.org/WAI/ARIA/apg/example-index/combobox/combobox-select-only.html - hope this right one :)

Matt_King: until we have an attribute like aria-value, it feels like there has to be something selected by default

sarah_h: the idea of putting something in that's "not a real value" shouldn't matter much, as long as the actual value makes sense

sarah_h: exposing 'choose a fruit' as the programmatic value doesn't mean it has to be in the list

Matt_King: if it's not in the list at all, and if nothing is selected, if they press escape and tab away, it'd retain its initial state, then?

Matt_King: or, would there be no way to return it to its intial state?

Matt_King: it seems scenario dependent

sarah_h: in general, the idea of not being unable to return a form field to its virgin state isn't uncommon

Matt_King: that's true

Matt_King: i guess that's the crux of this discussion, and the answer is no, and a consequence of that is 'choose a fruit' isn't in the ilst, and the outcome of THAT is nothing is selected by default

Matt_King: and THAT means pressing the up arrow should select the last item rather than the first

sarah_h: the up arrow going to the last item IS different than an HTML select, but I think that's fine

MarkMcCarthy: i think that's fine too

Matt_King: to address the 'what is more' part --

sarah_h: oh that's a bug. it should go to the currently selected item, which may be different from the last selected item

Matt_King: that's a great catch

sarah_h: in summary, if an item is selected, and you open the combobox, focus goes to the selected. if nothing is selected, up/alt-up/down/alt-down goes to the first/last item if nothing else is selected

sarah_h: might need a slight documentation change

Matt_King: as a note, the linked example in this issue is from the editor's draft, not current

Matt_King: so it does need doc updating

Goodbye!

Matt_King: what a meeting today!

Matt_King: i appreciate your willingness, deeply sarah_h!

Matt_King: this will be good to do against the move-examples branch too

sarah_h: got it

Minutes manually created (not a transcript), formatted by scribe.perl version 192 (Tue Jun 28 16:55:30 2022 UTC).

Diagnostics

Succeeded: s/options/option

Succeeded: s/it should go to the last selected item when it's reopened/it should go to the currently selected item, which may be different from the last selected item

Succeeded: s/last item/last item if nothing else is selected

Maybe present: bryan, siri