WAI-ARIA is hard. Mostly because the spec is dense, confusing and incomplete.
My goal with @reakitjs is not only to provide accessible components out of the box, but also serve as an example so people can build their own accessible stuff from scratch.