We have a lot of issues with accessibility when it comes to maintaining the cache of accessible objects. We mirror the hierarchy of either QWidgets or QQuickItems in order to expose them to the various platform accessibility APIs. This is hard to maintain and unreliable. Most crashes related to accessibility are due to this.
Instead of mirroring the hierarchy, we should merge the QAccessibleInterfaces which do not provide a lot of information into the corresponding Qt classes. For macOS this seems to be the most sensible way to finally get itemviews working when it comes to a11y. It also makes it cheaper while the overhead is negligible since it can be lazily allocated, we already have the accessible name and other properties in QWidget. Making that a pointer to extra data when needed will improve performance when the data is not needed.