As discussed at much length "what is an accordion" and "what is the right way to accessibly code one in HTML" is something of a historically challenging issue because the same word is used for two completely distinct patterns which happen to look very similar usually. We chose to call these 'collapse' and 'exclusive-collapse' to kind of sidestep this and based our ARIA on a particular interpretation at the time of writing. However, it's also noted that APG has changed their minds on this a few times - back in 2014 it was recommended that all of the parts of an accordion were also parts of tabs (because exclusive mode works just like tabs), but this has changed since (because non-exlusive mode is quite different).
Discussing with @scottohara today, we believe that keeping them exposed as the old "tabs" way might be better - because they more or less 'are' tabs, and this would also reduce the amount of unhelpful noise to AT (and also be much easier to code, but that's just a nice side effect).
This definitely needs some further thought, discussion and testing. The 'nice' thing here I guess is that it is burried behind the abstraction so if we change our minds, we can get that to people pretty seamlessly.
As discussed at much length "what is an accordion" and "what is the right way to accessibly code one in HTML" is something of a historically challenging issue because the same word is used for two completely distinct patterns which happen to look very similar usually. We chose to call these 'collapse' and 'exclusive-collapse' to kind of sidestep this and based our ARIA on a particular interpretation at the time of writing. However, it's also noted that APG has changed their minds on this a few times - back in 2014 it was recommended that all of the parts of an accordion were also parts of tabs (because exclusive mode works just like tabs), but this has changed since (because non-exlusive mode is quite different).
Discussing with @scottohara today, we believe that keeping them exposed as the old "tabs" way might be better - because they more or less 'are' tabs, and this would also reduce the amount of unhelpful noise to AT (and also be much easier to code, but that's just a nice side effect).
This definitely needs some further thought, discussion and testing. The 'nice' thing here I guess is that it is burried behind the abstraction so if we change our minds, we can get that to people pretty seamlessly.