I think this is mostly an ergonomics question. But what should happen here?
<div>Not a popup</div>
<div popup=popup>Valid popup</div>
<script>
const nonPopup = document.querySelector(':not([popup])');
const popup = document.querySelector('[popup]');
nonPopup.showPopup(); // Exception? Console warning? Nothing?
nonPopup.hidePopup(); // Same questions
popup.hidePopup(); // What about here? The popup isn't showing yet.
Thoughts?