Let capability shape the rendering
The runtime exposes a capability set and uses it to determine which parts can be rendered and which inputs are available. The same semantic application can therefore be presented differently without claiming that every runtime supports every control.