The XForms-derived specification used in the ODK ecosystem. If you are interested in building a tool that is compliant with the forms rendered by ODK tools, this is the place to start. ✨⚒✨
To capture/distill some of my thinking from the Slack discussion:
This feels like it belongs in the spec, even if optional, at least to specify the opt-out behavior. Current examples of opt-out behavior are not ideal: producing the Markdown, including the HTML subset, as-is (e.g. **bold** _italics_ <br> -> **bold** _italics_ <br>). Removing formatting would be preferable if/when Markdown is unsupported.
Inclusion in the spec doesn't have to/shouldn't mean writing yet another Markdown standard; ideally we can map the current reference implementation's behavior to pertinent aspects of CommonMark (which is a rare counterexample of the aforementioned yet-another-spec problem).
Having an explicit derived spec subset, our implementations can hopefully defer to/become oriented around existing CommonMark implementations. Collect could still be treated as the reference implementation, but as a reference implementation it might look more like configuration to achieve the Markdown/HTML subset we specify.
Reference implementation: https://github.com/getodk/collect/blob/master/collect_app/src/main/java/org/odk/collect/android/utilities/HtmlUtils.java#L23
Clients should either render the styling or strip it out.