title: Why do UI framework form components often contain native components?
body: <p>From my experience, this is a common pattern. For instance, Angular material does this with checkboxes: <a href="https://material.angular.io/components/checkbox/overview" rel="nofollow noreferrer">https://material.angular.io/components/checkbox/overview</a></p>
  
  <p>If you use the inspector you can see that the rendered component contains an actual checkbox. Obviously, native elements are difficult to style, so they're just hiding it and replacing it with styled content that mimics the appearance of a checkbox. But why include a native checkbox at all? What is the logic behind this? What are the benefits?</p>