Thanks for sharing. And thanks for paying attention to accessibility.
Speaking of which, I wonder if the buttons to scroll to particular items should be hidden from assistive technologies with aria-hidden. A blind person using a screen reader would probably regard them as just clutter. But I wonder if having them in the accessibility tree is useful for other ATs.
That’s a good question. 🙂 I tested the Pinafore implementation with VoiceOver, and I can certainly navigate the horizontal list the same as I would any horizontal list, so the buttons are not strictly necessary.
I noticed though that, despite the snap points, VoiceOver doesn’t focus the image to the center when you navigate with Ctrl-Option-Left/Right. So for someone with low vision, the buttons may still be useful, because they correctly “snap” to the right offset. (Ditto for the left/right keyboard shortcuts.)
But at the very least, the buttons are after the list in the tree, so users can ignore them if they want.