It all started when I wanted to write some non-presentable Custom Elements be able to find them in DOM using some generic rule.
Polymer has plenty of such elements: <polymer-ajax>, etc. Polymer demos have them as well: Polymer/TodoMVC has <td-model> for example.
Even HTML has elements that are not presentable: SCRIPT, STYLE, LINK, BASE, META, etc - and recently TEMPLATE.
W3C HTML5 spec is not very clear about such elements and what makes them non-presentable. It seems that presentable elements are those categorised as Flow Content (or Palpable Content - anyone can describe the difference?). Non-presentable are sometimes categorised as Metadata Content (e.g. SCRIPT, TEMPLATE) or not categorised at all (e.g. SOURCE, TRACK)
How can I reliably define (and later check) that a Custom Element is not meant for presentation?
I checked sources of <polymer-ajax> and it seems that this issue was not yet addressed there. <polymer-xhr> has <style>:host { display: none}</style> which looks like a cheat because I cannot determine if "display: none" is just temporary style or intended permanent property.
I want to write few non-presentable Custom Elements and I am considering extending LINK or META elements for that matter, because this let's me accurately determine that these elements are not meant for presentation.
Any other ideas?