As Eric Bidelman noted, "There's no better way to write a progressive web app than to progressively enhance existing HTML elements." [1]
Where possible, buttons and other custom elements should extend native HTML elements "to gain all of its features (DOM properties, methods, accessibility)". [1]
[1] https://developers.google.com/web/fundamentals/web-components/customelements#extendhtml