This blog post explains why developing accessible components (that work well across devices) is not an easy task: https://react-spectrum.adobe.com/blog/building-a-button-part...
There are so many UX pitfalls that I prefer to delegate the task of fixing them to a library, while still retaining control over how I want to style them.