Updated SubWeb
h3rald h3rald@h3rald.com
Fri, 21 Aug 2026 15:43:31 +0000
2 files changed,
25 insertions(+),
28 deletions(-)
M
contents/subweb.md
→
contents/subweb.md
@@ -7,7 +7,6 @@ subtitle: "A Safe, Small, Simple Subset of the Web"
summary: "A safe, small, simple subset of the Web aiming at improving safety, compatibility, and simplicity of web pages." content-type: project conver: true -branch: master active: true changelog: true stage: prototype
M
contents/subweb/subhtml.md
→
contents/subweb/subhtml.md
@@ -3,6 +3,22 @@ id: subhtml
title: SubHTML Specification content-type: page ----- +{#element => → <a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/$1"><$1></a>#} + +{#attribute => → <a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Attributes/$1">$1</a>#} + +> The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC 2119](https://datatracker.ietf.org/doc/html/rfc2119.html). + +### Rationale + +This is a rather informal specification for the [SubWeb](/subweb/) HTML subset, and aims to aid users who want to create SubWeb-compliant web pages. + +Note that this specification: + +- only focuses on the elements, attribute, and structure that would be REQUIRED to be supported by a hypothetical SubWeb-compliant web browser. +- does not includes elements, attributes, values, and features that MAY still be used in a SubWeb-compliant page because they degrade gracefully if support is not implemented. If an element is not listed, it doesn't necessarily mean that it is not permitted. +- does not include elements that are *not supported* because against SubWeb's own core philosophy like the `<object>` and `<frame>` elements. +- contains links to the Mozilla Developer Network [HTML Reference](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference) to help users who wants to learn more about a specific element or attribute. Note however that not every aspect of linked elements or attribute MAY be supported or not permitted in SubWeb documents. ### Document Structure and Metadata@@ -18,6 +34,7 @@ <meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="/styles.css"> </head> <body> + <!-- document content goes here --> </body> </html> ```@@ -38,21 +55,26 @@ #### html
A document MUST be wrapped in a single `<html>` element. -This element MAY have a `lang` attribute defining the main language of the document as defined by [RFC 5646](https://datatracker.ietf.org/doc/html/rfc5646). +{#element||html#} #### head This element defines the header of the document and MAY contain metadata and links to external stylesheets. -#### base +{#element||head#} #### title +Defines the title of the document, to be displayed in the browser title bar or the tab displaying the page; it can only contain text. + +{#element||title#} + #### meta #### link #### body + ### Block Elements@@ -62,7 +84,7 @@ #### br
#### div -#### h1-h6 +#### h1, h2, h3, h4, h5, h6 #### hr@@ -138,37 +160,13 @@ #### tr
### Common Attributes -#### accesskey - -Specifies a keyboard shortcut to activate or focus an element. - -#### aria-* - -Defines accessibility properties and states for assistive technologies. - #### class Specifies one or more CSS class names for styling the element. - -#### dir - -Sets the text direction (left-to-right, right-to-left, or auto). #### id Defines a unique identifier for the element within the document. - -#### lang - -Specifies the primary language of the element’s content. - -#### role - -Defines the element’s semantic role for accessibility. - -#### tabindex - -Controls keyboard navigation order and focusability. #### title