Warning: Reason support is experimental. We are looking for beta-tester and contributors.

Module type Html5_sigs.T

module type T = sig..end

module Xml : Xml_sigs.T
module Svg : Svg_sigs.Twith module Xml := Xml
module Info : Xml_sigs.Info
type uri = Xml.uri
val string_of_uri : uri -> string
val uri_of_string : string -> uri

Common Attributes

type +'a attrib
val to_xmlattribs : 'a attrib list -> Xml.attrib list
val to_attrib : Xml.attrib -> 'a attrib

'a is known as a phantom type. The implementation is actually monomorphic (the different element types are distinguished by a homogeneous variable, such as their textual representation) and the type variable `a is just used by the type checker.

NB: It might be possible to use polymorphic variants directly, without phantom types, but the implementation is likely to be more involved.

val a_autocomplete : [< `Off | `On ] -> [> `Autocomplete ] attrib
val a_async : [< `Async ] -> [> `Async ] attrib
val a_autofocus : [< `Autofocus ] -> [> `Autofocus ] attrib
val a_autoplay : [< `Autoplay ] -> [> `Autoplay ] attrib
val a_challenge : Html5_types.text -> [> `Challenge ] attrib
val a_contenteditable : [< `False | `True ] -> [> `Contexteditable ] attrib
val a_contextmenu : Html5_types.idref -> [> `Contextmenu ] attrib
val a_controls : [< `Controls ] -> [> `Controls ] attrib
val a_dir : [< `Ltr | `Rtl ] -> [> `Dir ] attrib
val a_draggable : [< `False | `True ] -> [> `Draggable ] attrib
val a_form : Html5_types.idref -> [> `Form ] attrib
val a_formaction : Xml.uri -> [> `Formaction ] attrib
val a_formenctype : Html5_types.contenttype -> [> `Formenctype ] attrib
val a_formmethod : 
  [< `Delete | `Get | `Post | `Put ] ->
  [> `Formmethod ] attrib
val a_formnovalidate : [< `Formnovalidate ] -> [> `Formnovalidate ] attrib
val a_formtarget : Html5_types.text -> [> `Formtarget ] attrib
val a_hidden : [< `Hidden ] -> [> `Hidden ] attrib
val a_high : Html5_types.float_number -> [> `High ] attrib
val a_icon : Xml.uri -> [> `Icon ] attrib
val a_ismap : [< `Ismap ] -> [> `Ismap ] attrib
val a_keytype : Html5_types.text -> [> `Keytype ] attrib
val a_list : Html5_types.idref -> [> `List ] attrib
val a_loop : [< `Loop ] -> [> `Loop ] attrib
val a_low : Html5_types.float_number -> [> `High ] attrib
val a_max : Html5_types.float_number -> [> `Max ] attrib
val a_input_max : Html5_types.number -> [> `Max ] attrib
val a_min : Html5_types.float_number -> [> `Min ] attrib
val a_input_min : Html5_types.number -> [> `Min ] attrib
val a_novalidate : [< `Novalidate ] -> [> `Novalidate ] attrib
val a_open : [< `Open ] -> [> `Open ] attrib
val a_optimum : Html5_types.float_number -> [> `Optimum ] attrib
val a_pattern : Html5_types.text -> [> `Pattern ] attrib
val a_placeholder : Html5_types.text -> [> `Placeholder ] attrib
val a_poster : Xml.uri -> [> `Poster ] attrib
val a_preload : [< `Audio | `Metadata | `None ] -> [> `Preload ] attrib
val a_pubdate : [< `Pubdate ] -> [> `Pubdate ] attrib
val a_radiogroup : Html5_types.text -> [> `Radiogroup ] attrib
val a_required : [< `Required ] -> [> `Required ] attrib
val a_reversed : [< `Reversed ] -> [> `Reversed ] attrib
val a_sandbox : 
  [< `AllowForms | `AllowSameOrigin | `AllowScript ] list ->
  [> `Sandbox ] attrib
val a_spellcheck : [< `False | `True ] -> [> `Spellcheck ] attrib
val a_scoped : [< `Scoped ] -> [> `Scoped ] attrib
val a_seamless : [< `Seamless ] -> [> `Seamless ] attrib
val a_sizes : Html5_types.numbers -> [> `Sizes ] attrib
val a_span : Html5_types.number -> [> `Span ] attrib
val a_srclang : Html5_types.nmtoken -> [> `XML_lang ] attrib
val a_start : Html5_types.number -> [> `Start ] attrib
val a_step : Html5_types.float_number -> [> `Step ] attrib
val a_wrap : [< `Hard | `Soft ] -> [> `Wrap ] attrib
val a_class : Html5_types.nmtokens -> [> `Class ] attrib

This attribute assigns a class name or set of class names to an element. Any number of elements may be assigned the same class name or names.

val a_user_data : 
  Html5_types.nmtoken ->
  Html5_types.text -> [> `User_data ] attrib

May be used to specify custom attribs. The example given by the W3C is as follows : {{{<ol> <li data-length="2m11s">Beyond The Sea</li> </ol>}}} It should be used for preprocessing ends only.

val a_id : Html5_types.text -> [> `Id ] attrib

This attribute assigns a name to an element. This name must be unique in a document. The text should be without any space.

val a_title : Html5_types.text -> [> `Title ] attrib

This attribute offers advisory information about the element for which it is set.

Values of the title attribute may be rendered by user agents in a variety of ways. For instance, visual browsers frequently display the title as a tool tip (a short message that appears when the pointing device pauses over an object). Audio user agents may speak the title information in a similar context.

The title attribute has an additional role when used with the link element to designate an external style sheet. Please consult the section on links and style sheets for details.

I18N

val a_xml_lang : Html5_types.nmtoken -> [> `XML_lang ] attrib

Events

val a_onabort : Xml.event_handler -> [> `OnAbort ] attrib

Javascript events

val a_onafterprint : Xml.event_handler -> [> `OnAfterPrint ] attrib
val a_onbeforeprint : Xml.event_handler -> [> `OnBeforePrint ] attrib
val a_onbeforeunload : Xml.event_handler -> [> `OnBeforeUnload ] attrib
val a_onblur : Xml.event_handler -> [> `OnBlur ] attrib
val a_oncanplay : Xml.event_handler -> [> `OnCanPlay ] attrib
val a_oncanplaythrough : Xml.event_handler -> [> `OnCanPlayThrough ] attrib
val a_onchange : Xml.event_handler -> [> `OnChange ] attrib
val a_onclick : Xml.event_handler -> [> `OnClick ] attrib
val a_oncontextmenu : Xml.event_handler -> [> `OnContextMenu ] attrib
val a_ondblclick : Xml.event_handler -> [> `OnDblClick ] attrib
val a_ondrag : Xml.event_handler -> [> `OnDrag ] attrib
val a_ondragend : Xml.event_handler -> [> `OnDragEnd ] attrib
val a_ondragenter : Xml.event_handler -> [> `OnDragEnter ] attrib
val a_ondragleave : Xml.event_handler -> [> `OnDragLeave ] attrib
val a_ondragover : Xml.event_handler -> [> `OnDragOver ] attrib
val a_ondragstart : Xml.event_handler -> [> `OnDragStart ] attrib
val a_ondrop : Xml.event_handler -> [> `OnDrop ] attrib
val a_ondurationchange : Xml.event_handler -> [> `OnDurationChange ] attrib
val a_onemptied : Xml.event_handler -> [> `OnEmptied ] attrib
val a_onended : Xml.event_handler -> [> `OnEnded ] attrib
val a_onerror : Xml.event_handler -> [> `OnError ] attrib
val a_onfocus : Xml.event_handler -> [> `OnFocus ] attrib
val a_onformchange : Xml.event_handler -> [> `OnFormChange ] attrib
val a_onforminput : Xml.event_handler -> [> `OnFormInput ] attrib
val a_onhashchange : Xml.event_handler -> [> `OnHashChange ] attrib
val a_oninput : Xml.event_handler -> [> `OnInput ] attrib
val a_oninvalid : Xml.event_handler -> [> `OnInvalid ] attrib
val a_onmousedown : Xml.event_handler -> [> `OnMouseDown ] attrib
val a_onmouseup : Xml.event_handler -> [> `OnMouseUp ] attrib
val a_onmouseover : Xml.event_handler -> [> `OnMouseOver ] attrib
val a_onmousemove : Xml.event_handler -> [> `OnMouseMove ] attrib
val a_onmouseout : Xml.event_handler -> [> `OnMouseOut ] attrib
val a_onmousewheel : Xml.event_handler -> [> `OnMouseWheel ] attrib
val a_onoffline : Xml.event_handler -> [> `OnOffLine ] attrib
val a_ononline : Xml.event_handler -> [> `OnOnLine ] attrib
val a_onpause : Xml.event_handler -> [> `OnPause ] attrib
val a_onplay : Xml.event_handler -> [> `OnPlay ] attrib
val a_onplaying : Xml.event_handler -> [> `OnPlaying ] attrib
val a_onpagehide : Xml.event_handler -> [> `OnPageHide ] attrib
val a_onpageshow : Xml.event_handler -> [> `OnPageShow ] attrib
val a_onpopstate : Xml.event_handler -> [> `OnPopState ] attrib
val a_onprogress : Xml.event_handler -> [> `OnProgress ] attrib
val a_onratechange : Xml.event_handler -> [> `OnRateChange ] attrib
val a_onreadystatechange : 
  Xml.event_handler -> [> `OnReadyStateChange ] attrib
val a_onredo : Xml.event_handler -> [> `OnRedo ] attrib
val a_onresize : Xml.event_handler -> [> `OnResize ] attrib
val a_onscroll : Xml.event_handler -> [> `OnScroll ] attrib
val a_onseeked : Xml.event_handler -> [> `OnSeeked ] attrib
val a_onseeking : Xml.event_handler -> [> `OnSeeking ] attrib
val a_onselect : Xml.event_handler -> [> `OnSelect ] attrib
val a_onshow : Xml.event_handler -> [> `OnShow ] attrib
val a_onstalled : Xml.event_handler -> [> `OnStalled ] attrib
val a_onstorage : Xml.event_handler -> [> `OnStorage ] attrib
val a_onsubmit : Xml.event_handler -> [> `OnSubmit ] attrib
val a_onsuspend : Xml.event_handler -> [> `OnSuspend ] attrib
val a_ontimeupdate : Xml.event_handler -> [> `OnTimeUpdate ] attrib
val a_onundo : Xml.event_handler -> [> `OnUndo ] attrib
val a_onunload : Xml.event_handler -> [> `OnUnload ] attrib
val a_onvolumechange : Xml.event_handler -> [> `OnVolumeChange ] attrib
val a_onwaiting : Xml.event_handler -> [> `OnWaiting ] attrib
val a_onkeypress : Xml.event_handler -> [> `OnKeyPress ] attrib
val a_onkeydown : Xml.event_handler -> [> `OnKeyDown ] attrib
val a_onkeyup : Xml.event_handler -> [> `OnKeyUp ] attrib
val a_onload : Xml.event_handler -> [> `OnLoad ] attrib
val a_onloadeddata : Xml.event_handler -> [> `OnLoadedData ] attrib
val a_onloadedmetadata : Xml.event_handler -> [> `OnLoadedMetaData ] attrib
val a_onloadstart : Xml.event_handler -> [> `OnLoadStart ] attrib
val a_onmessage : Xml.event_handler -> [> `OnMessage ] attrib
val a_version : Html5_types.cdata -> [> `Version ] attrib
val a_xmlns : [< `W3_org_1999_xhtml ] -> [> `XMLns ] attrib
val a_manifest : Xml.uri -> [> `Manifest ] attrib
val a_cite : Xml.uri -> [> `Cite ] attrib
val a_xml_space : [< `Preserve ] -> [> `XML_space ] attrib
val a_accesskey : Html5_types.character -> [> `Accesskey ] attrib

This attribute assigns an access key to an element. An access key is a single character from the document character set. NB: authors should consider the input method of the expected reader when specifying an accesskey.

val a_charset : Html5_types.charset -> [> `Charset ] attrib

This attribute specifies the character encoding of the resource designated by the link. Please consult the section on character encodings for more details.

val a_accept_charset : Html5_types.charsets -> [> `Accept_charset ] attrib
val a_accept : Html5_types.contenttypes -> [> `Accept ] attrib
val a_href : Xml.uri -> [> `Href ] attrib

This attribute specifies the location of a Web resource, thus defining a link between the current element (the source anchor) and the destination anchor defined by this attribute.

val a_hreflang : Html5_types.languagecode -> [> `Hreflang ] attrib

This attribute specifies the base language of the resource designated by href and may only be used when href is specified.

val a_rel : Html5_types.linktypes -> [> `Rel ] attrib

This attribute describes the relationship from the current document to the anchor specified by the href attribute. The value of this attribute is a space-separated list of link types.

This attribute is used to describe a reverse link from the anchor specified by the href attribute to the current document. The value of this attribute is a space-separated list of link types.

val a_tabindex : Html5_types.number -> [> `Tabindex ] attrib

This attribute specifies the position of the current element in the tabbing order for the current document. This value must be a number between 0 and 32767. User agents should ignore leading zeros.

val a_mime_type : Html5_types.contenttype -> [> `Mime_type ] attrib

This attribute gives an advisory hint as to the content type of the content available at the link target address. It allows user agents to opt to use a fallback mechanism rather than fetch the content if they are advised that they will get content in a content type they do not support.Authors who use this attribute take responsibility to manage the risk that it may become inconsistent with the content available at the link target address.

val a_datetime : Html5_types.cdata -> [> `Datetime ] attrib
val a_action : Xml.uri -> [> `Action ] attrib

This attribute specifies a form processing agent. User agent behavior for a value other than an HTTP URI is undefined.

val a_checked : [< `Checked ] -> [> `Checked ] attrib

When the type attribute has the value "radio" or "checkbox", this boolean attribute specifies that the button is on. User agents must ignore this attribute for other control types.

val a_cols : Html5_types.number -> [> `Cols ] attrib

This attribute specifies the visible width in average character widths. Users should be able to enter longer lines than this, so user agents should provide some means to scroll through the contents of the control when the contents extend beyond the visible area. User agents may wrap visible text lines to keep long lines visible without the need for scrolling.

val a_enctype : Html5_types.contenttype -> [> `Enctype ] attrib
val a_for : Html5_types.idref -> [> `For ] attrib
val a_for_list : Html5_types.idrefs -> [> `For_List ] attrib
val a_maxlength : Html5_types.number -> [> `Maxlength ] attrib
val a_method : [< `Delete | `Get | `Post | `Put ] -> [> `Method ] attrib
val a_multiple : [< `Multiple ] -> [> `Multiple ] attrib
val a_name : Html5_types.text -> [> `Name ] attrib

This attribute assigns the control name.

val a_rows : Html5_types.number -> [> `Rows ] attrib

This attribute specifies the number of visible text lines. Users should be able to enter more lines than this, so user agents should provide some means to scroll through the contents of the control when the contents extend beyond the visible area.

val a_selected : [< `Selected ] -> [> `Selected ] attrib

When set, this boolean attribute specifies that this option is pre-selected.

val a_size : Html5_types.number -> [> `Size ] attrib
val a_src : Xml.uri -> [> `Src ] attrib
val a_input_type : 
  [< `Button
   | `Checkbox
   | `Color
   | `Date
   | `Datetime
   | `Datetime_local
   | `Email
   | `File
   | `Hidden
   | `Image
   | `Month
   | `Number
   | `Password
   | `Radio
   | `Range
   | `Reset
   | `Search
   | `Submit
   | `Tel
   | `Text
   | `Time
   | `Url
   | `Week ] ->
  [> `Input_Type ] attrib
val a_text_value : Html5_types.text -> [> `Text_Value ] attrib

This attribute specifies the initial value of the control. If this attribute is not set, the initial value is set to the contents of the option element.

val a_int_value : Html5_types.number -> [> `Int_Value ] attrib
val a_value : Html5_types.cdata -> [> `Value ] attrib
val a_float_value : Html5_types.float_number -> [> `Float_Value ] attrib
val a_disabled : [< `Disabled ] -> [> `Disabled ] attrib
val a_readonly : [< `ReadOnly ] -> [> `ReadOnly ] attrib
val a_button_type : 
  [< `Button | `Reset | `Submit ] ->
  [> `Button_Type ] attrib
val a_command_type : 
  [< `Checkbox | `Command | `Radio ] ->
  [> `Command_Type ] attrib
val a_menu_type : [< `Context | `Toolbar ] -> [> `Menu_Type ] attrib
val a_label : Html5_types.text -> [> `Label ] attrib
val a_align : 
  [< `Char | `Justify | `Left | `Right ] ->
  [> `Align ] attrib
val a_axis : Html5_types.cdata -> [> `Axis ] attrib
val a_colspan : Html5_types.number -> [> `Colspan ] attrib
val a_headers : Html5_types.idrefs -> [> `Headers ] attrib
val a_rowspan : Html5_types.number -> [> `Rowspan ] attrib
val a_scope : 
  [< `Col | `Colgroup | `Row | `Rowgroup ] ->
  [> `Scope ] attrib
val a_summary : Html5_types.text -> [> `Summary ] attrib
val a_border : Html5_types.pixels -> [> `Border ] attrib
val a_cellpadding : Html5_types.length -> [> `Cellpadding ] attrib
val a_cellspacing : Html5_types.length -> [> `Cellspacing ] attrib
val a_datapagesize : Html5_types.cdata -> [> `Datapagesize ] attrib
val a_rules : 
  [< `All | `Cols | `Groups | `None | `Rows ] ->
  [> `Rules ] attrib
val a_char : Html5_types.character -> [> `Char ] attrib
val a_charoff : Html5_types.length -> [> `Charoff ] attrib
val a_alt : Html5_types.text -> [> `Alt ] attrib
val a_height : Html5_types.number -> [> `Height ] attrib
val a_width : Html5_types.number -> [> `Width ] attrib
type shape = [ `Circle | `Default | `Poly | `Rect ]
val a_shape : shape -> [> `Shape ] attrib
val a_coords : Html5_types.numbers -> [> `Coords ] attrib
val a_usemap : Html5_types.idref -> [> `Usemap ] attrib
val a_data : Xml.uri -> [> `Data ] attrib
val a_codetype : Html5_types.contenttype -> [> `Codetype ] attrib
val a_fs_rows : Html5_types.multilengths -> [> `FS_Rows ] attrib
val a_fs_cols : Html5_types.multilengths -> [> `FS_Cols ] attrib
val a_frameborder : [< `One | `Zero ] -> [> `Frameborder ] attrib
val a_marginheight : Html5_types.pixels -> [> `Marginheight ] attrib
val a_marginwidth : Html5_types.pixels -> [> `Marginwidth ] attrib
val a_scrolling : [< `Auto | `No | `Yes ] -> [> `Scrolling ] attrib
val a_target : Html5_types.frametarget -> [> `Target ] attrib
val a_content : Html5_types.text -> [> `Content ] attrib
val a_http_equiv : Html5_types.text -> [> `Http_equiv ] attrib
val a_defer : [< `Defer ] -> [> `Defer ] attrib
val a_media : Html5_types.mediadesc -> [> `Media ] attrib
val a_style : string -> [> `Style_Attr ] attrib
val a_property : string -> [> `Property ] attrib

Phantom types and XML elements

type +'a elt
type ('a, 'b) nullary = ?a:'a attrib list -> unit -> 'b elt
type ('a, 'b, 'c) unary = 
  ?a:'a attrib list ->
  'b elt -> 'c elt
type ('a, 'b, 'c, 'd) binary = 
  ?a:'a attrib list ->
  'b elt -> 'c elt -> 'd elt
type ('a, 'b, 'c, 'd) tri = 
  'a elt ->
  'b elt -> 'c elt -> 'd elt
type ('a, 'b, 'c) star = 
  ?a:'a attrib list ->
  'b elt list -> 'c elt

Star '*' denotes any number of children, uncluding zero.

type ('a, 'b, 'c) plus = 
  ?a:'a attrib list ->
  'b elt -> 'b elt list -> 'c elt
type html = [ `Html ] elt

Root element

type rt = 
  [ `Rpt of
   [ `Rp ] elt * [ `Rt ] elt *
   [ `Rp ] elt
  | `Rt of [ `Rt ] elt ]
type ruby_content = Html5_types.phrasing elt list * rt
type rp = 
  Html5_types.common attrib list *
  Html5_types.phrasing elt list

Combined Element Sets:

val html : 
  ?a:Html5_types.html_attrib attrib list ->
  [< `Head ] elt ->
  [< `Body ] elt -> [> `Html ] elt
val head : 
  ?a:Html5_types.head_attrib attrib list ->
  [< `Title ] elt ->
  Html5_types.head_content_fun elt list ->
  [> Html5_types.head ] elt
val base : 
  ([< Html5_types.base_attrib ], [> Html5_types.base ])
  nullary
val title : 
  (Html5_types.title_attrib, [< Html5_types.title_content_fun ],
   [> Html5_types.title ])
  unary
val body : 
  ([< Html5_types.body_attrib ], [< Html5_types.body_content_fun ],
   [> Html5_types.body ])
  star
val svg : 
  ?xmlns:string ->
  ?a:[< Html5_types.svg_attrib ] Svg.attrib list ->
  [< Html5_types.svg_content ] Svg.elt list ->
  [> Html5_types.svg ] elt

Section

val footer : 
  ([< Html5_types.common ],
   [< Html5_types.flow5_without_header_footer ], [> `Footer ])
  star
val header : 
  ([< Html5_types.common ],
   [< Html5_types.flow5_without_header_footer ], [> `Header ])
  star
val section : 
  ([< Html5_types.section_attrib ],
   [< Html5_types.section_content_fun ], [> Html5_types.section ])
  star
val nav : 
  ([< Html5_types.nav_attrib ], [< Html5_types.nav_content_fun ],
   [> Html5_types.nav ])
  star
val h1 : 
  ([< Html5_types.h1_attrib ], [< Html5_types.h1_content_fun ],
   [> Html5_types.h1 ])
  star
val h2 : 
  ([< Html5_types.h2_attrib ], [< Html5_types.h2_content_fun ],
   [> Html5_types.h2 ])
  star
val h3 : 
  ([< Html5_types.h3_attrib ], [< Html5_types.h3_content_fun ],
   [> Html5_types.h3 ])
  star
val h4 : 
  ([< Html5_types.h4_attrib ], [< Html5_types.h4_content_fun ],
   [> Html5_types.h4 ])
  star
val h5 : 
  ([< Html5_types.h5_attrib ], [< Html5_types.h5_content_fun ],
   [> Html5_types.h5 ])
  star
val h6 : 
  ([< Html5_types.h6_attrib ], [< Html5_types.h6_content_fun ],
   [> Html5_types.h6 ])
  star
val hgroup : 
  ([< Html5_types.hgroup_attrib ], [< Html5_types.hgroup_content_fun ],
   [> Html5_types.hgroup ])
  plus
val address : 
  ([< Html5_types.address_attrib ],
   [< Html5_types.address_content_fun ], [> Html5_types.address ])
  star
val article : 
  ([< Html5_types.article_attrib ],
   [< Html5_types.article_content_fun ], [> Html5_types.article ])
  star
val aside : 
  ([< Html5_types.aside_attrib ], [< Html5_types.aside_content_fun ],
   [> Html5_types.aside ])
  star

Grouping content

val p : 
  ([< Html5_types.p_attrib ], [< Html5_types.p_content_fun ],
   [> Html5_types.p ])
  star
val pre : 
  ([< Html5_types.pre_attrib ], [< Html5_types.pre_content_fun ],
   [> Html5_types.pre ])
  star
val blockquote : 
  ([< Html5_types.blockquote_attrib ],
   [< Html5_types.blockquote_content_fun ], [> Html5_types.blockquote ])
  star
val div : 
  ([< Html5_types.div_attrib ], [< Html5_types.div_content_fun ],
   [> Html5_types.div ])
  star
val dl : 
  ?a:[< Html5_types.common ] attrib list ->
  (([< `Dt ] elt * [< `Dt ] elt list) *
   ([< `Dd ] elt * [< `Dd ] elt list))
  list -> [> `Dl ] elt
val ol : 
  ([< Html5_types.ol_attrib ], [< Html5_types.ol_content_fun ],
   [> Html5_types.ol ])
  star
val ul : 
  ([< Html5_types.ul_attrib ], [< Html5_types.ul_content_fun ],
   [> Html5_types.ul ])
  star
val dd : 
  ([< Html5_types.dd_attrib ], [< Html5_types.dd_content_fun ],
   [> Html5_types.dd ])
  star
val dt : 
  ([< Html5_types.dt_attrib ], [< Html5_types.dt_content_fun ],
   [> Html5_types.dt ])
  star
val li : 
  ([< Html5_types.li_attrib ], [< Html5_types.li_content_fun ],
   [> Html5_types.li ])
  star

A list element. The 'a type is used to know whether the element has a int_value attribute or not.

val figcaption : 
  ([< Html5_types.figcaption_attrib ],
   [< Html5_types.figcaption_content_fun ], [> Html5_types.figcaption ])
  star
val figure : 
  ?figcaption:[< `Figcaption ] elt ->
  ([< Html5_types.common ], [< Html5_types.flow5 ], [> `Figure ])
  star
val hr : ([< Html5_types.hr_attrib ], [> Html5_types.hr ]) nullary

Ruby

val rt : 
  ?rp:rp * rp ->
  ?a:[< Html5_types.common ] attrib list ->
  [< Html5_types.phrasing ] elt list -> rt
val rp : 
  ?a:[< Html5_types.common ] attrib list ->
  [< Html5_types.phrasing ] elt list -> rp
val ruby : 
  ?a:[< Html5_types.common ] attrib list ->
  ruby_content ->
  ruby_content list -> [> `Ruby ] elt

Semantic

val b : 
  ([< Html5_types.b_attrib ], [< Html5_types.b_content_fun ],
   [> Html5_types.b ])
  star
val i : 
  ([< Html5_types.i_attrib ], [< Html5_types.i_content_fun ],
   [> Html5_types.i ])
  star
val small : 
  ([< Html5_types.small_attrib ], [< Html5_types.small_content_fun ],
   [> Html5_types.small ])
  star
val sub : 
  ([< Html5_types.sub_attrib ], [< Html5_types.sub_content_fun ],
   [> Html5_types.sub ])
  star
val sup : 
  ([< Html5_types.sup_attrib ], [< Html5_types.sup_content_fun ],
   [> Html5_types.sup ])
  star
val mark : 
  ([< Html5_types.mark_attrib ], [< Html5_types.mark_content_fun ],
   [> Html5_types.mark ])
  star
val wbr : 
  ([< Html5_types.wbr_attrib ], [> Html5_types.wbr ])
  nullary
val bdo : 
  dir:[< `Ltr | `Rtl ] ->
  ([< Html5_types.common ], [< Html5_types.phrasing ], [> `Bdo ])
  star
val abbr : 
  ([< Html5_types.abbr_attrib ], [< Html5_types.abbr_content_fun ],
   [> Html5_types.abbr ])
  star
val br : ([< Html5_types.br_attrib ], [> Html5_types.br ]) nullary
val cite : 
  ([< Html5_types.cite_attrib ], [< Html5_types.cite_content_fun ],
   [> Html5_types.cite ])
  star
val code : 
  ([< Html5_types.code_attrib ], [< Html5_types.code_content_fun ],
   [> Html5_types.code ])
  star
val dfn : 
  ([< Html5_types.dfn_attrib ], [< Html5_types.dfn_content_fun ],
   [> Html5_types.dfn ])
  star
val em : 
  ([< Html5_types.em_attrib ], [< Html5_types.em_content_fun ],
   [> Html5_types.em ])
  star
val kbd : 
  ([< Html5_types.kbd_attrib ], [< Html5_types.kbd_content_fun ],
   [> Html5_types.kbd ])
  star
val q : 
  ([< Html5_types.q_attrib ], [< Html5_types.q_content_fun ],
   [> Html5_types.q ])
  star
val samp : 
  ([< Html5_types.samp_attrib ], [< Html5_types.samp_content_fun ],
   [> Html5_types.samp ])
  star
val span : 
  ([< Html5_types.span_attrib ], [< Html5_types.span_content_fun ],
   [> Html5_types.span ])
  star
val strong : 
  ([< Html5_types.strong_attrib ], [< Html5_types.strong_content_fun ],
   [> Html5_types.strong ])
  star
val time : 
  ([< Html5_types.time_attrib ], [< Html5_types.time_content_fun ],
   [> Html5_types.time ])
  star
val var : 
  ([< Html5_types.var_attrib ], [< Html5_types.var_content_fun ],
   [> Html5_types.var ])
  star

Hypertext

val a : ([< Html5_types.a_attrib ], 'a, [> `A of 'a ]) star

Edit

val del : ([< Html5_types.del_attrib ], 'a, [> `Del of 'a ]) star
val ins : ([< Html5_types.ins_attrib ], 'a, [> `Ins of 'a ]) star

Embedded

val img : 
  src:Xml.uri ->
  alt:Html5_types.text ->
  ([< `Accesskey
   | `Class
   | `Contenteditable
   | `Contextmenu
   | `Dir
   | `Draggable
   | `Height
   | `Hidden
   | `Id
   | `Ismap
   | `OnAbort
   | `OnBlur
   | `OnCanPlay
   | `OnCanPlayThrough
   | `OnChange
   | `OnClick
   | `OnContextMenu
   | `OnDblClick
   | `OnDrag
   | `OnDragEnd
   | `OnDragEnter
   | `OnDragLeave
   | `OnDragOver
   | `OnDragStart
   | `OnDrop
   | `OnDurationChange
   | `OnEmptied
   | `OnEnded
   | `OnError
   | `OnFocus
   | `OnFormChange
   | `OnFormInput
   | `OnInput
   | `OnInvalid
   | `OnKeyDown
   | `OnKeyPress
   | `OnKeyUp
   | `OnLoad
   | `OnLoadStart
   | `OnLoadedData
   | `OnLoadedMetaData
   | `OnMouseDown
   | `OnMouseMove
   | `OnMouseOut
   | `OnMouseOver
   | `OnMouseUp
   | `OnMouseWheel
   | `OnPause
   | `OnPlay
   | `OnPlaying
   | `OnProgress
   | `OnRateChange
   | `OnReadyStateChange
   | `OnScroll
   | `OnSeeked
   | `OnSeeking
   | `OnSelect
   | `OnShow
   | `OnStalled
   | `OnSubmit
   | `OnSuspend
   | `OnTimeUpdate
   | `OnVolumeChange
   | `OnWaiting
   | `Spellcheck
   | `Style_Attr
   | `Tabindex
   | `Title
   | `User_data
   | `Width
   | `XML_lang
   | `XMLns ],
   [> `Img ])
  nullary
val iframe : 
  ([< `Accesskey
   | `Class
   | `Contenteditable
   | `Contextmenu
   | `Dir
   | `Draggable
   | `Height
   | `Hidden
   | `Id
   | `Name
   | `OnAbort
   | `OnBlur
   | `OnCanPlay
   | `OnCanPlayThrough
   | `OnChange
   | `OnClick
   | `OnContextMenu
   | `OnDblClick
   | `OnDrag
   | `OnDragEnd
   | `OnDragEnter
   | `OnDragLeave
   | `OnDragOver
   | `OnDragStart
   | `OnDrop
   | `OnDurationChange
   | `OnEmptied
   | `OnEnded
   | `OnError
   | `OnFocus
   | `OnFormChange
   | `OnFormInput
   | `OnInput
   | `OnInvalid
   | `OnKeyDown
   | `OnKeyPress
   | `OnKeyUp
   | `OnLoad
   | `OnLoadStart
   | `OnLoadedData
   | `OnLoadedMetaData
   | `OnMouseDown
   | `OnMouseMove
   | `OnMouseOut
   | `OnMouseOver
   | `OnMouseUp
   | `OnMouseWheel
   | `OnPause
   | `OnPlay
   | `OnPlaying
   | `OnProgress
   | `OnRateChange
   | `OnReadyStateChange
   | `OnScroll
   | `OnSeeked
   | `OnSeeking
   | `OnSelect
   | `OnShow
   | `OnStalled
   | `OnSubmit
   | `OnSuspend
   | `OnTimeUpdate
   | `OnVolumeChange
   | `OnWaiting
   | `Sandbox
   | `Seamless
   | `Spellcheck
   | `Src
   | `Style_Attr
   | `Tabindex
   | `Title
   | `User_data
   | `Width
   | `XML_lang
   | `XMLns ],
   [< `PCDATA ], [> `Iframe ])
  star
val object_ : 
  ?params:[< `Param ] elt list ->
  ([< `Accesskey
   | `Class
   | `Contenteditable
   | `Contextmenu
   | `Data
   | `Dir
   | `Draggable
   | `Form
   | `Height
   | `Hidden
   | `Id
   | `Mime_type
   | `Name
   | `OnAbort
   | `OnBlur
   | `OnCanPlay
   | `OnCanPlayThrough
   | `OnChange
   | `OnClick
   | `OnContextMenu
   | `OnDblClick
   | `OnDrag
   | `OnDragEnd
   | `OnDragEnter
   | `OnDragLeave
   | `OnDragOver
   | `OnDragStart
   | `OnDrop
   | `OnDurationChange
   | `OnEmptied
   | `OnEnded
   | `OnError
   | `OnFocus
   | `OnFormChange
   | `OnFormInput
   | `OnInput
   | `OnInvalid
   | `OnKeyDown
   | `OnKeyPress
   | `OnKeyUp
   | `OnLoad
   | `OnLoadStart
   | `OnLoadedData
   | `OnLoadedMetaData
   | `OnMouseDown
   | `OnMouseMove
   | `OnMouseOut
   | `OnMouseOver
   | `OnMouseUp
   | `OnMouseWheel
   | `OnPause
   | `OnPlay
   | `OnPlaying
   | `OnProgress
   | `OnRateChange
   | `OnReadyStateChange
   | `OnScroll
   | `OnSeeked
   | `OnSeeking
   | `OnSelect
   | `OnShow
   | `OnStalled
   | `OnSubmit
   | `OnSuspend
   | `OnTimeUpdate
   | `OnVolumeChange
   | `OnWaiting
   | `Spellcheck
   | `Style_Attr
   | `Tabindex
   | `Title
   | `Usemap
   | `User_data
   | `Width
   | `XML_lang
   | `XMLns ],
   'a, [> `Object of 'a ])
  star
val param : 
  ([< Html5_types.param_attrib ], [> Html5_types.param ])
  nullary
val embed : 
  ([< `Accesskey
   | `Class
   | `Contenteditable
   | `Contextmenu
   | `Dir
   | `Draggable
   | `Height
   | `Hidden
   | `Id
   | `Mime_type
   | `OnAbort
   | `OnBlur
   | `OnCanPlay
   | `OnCanPlayThrough
   | `OnChange
   | `OnClick
   | `OnContextMenu
   | `OnDblClick
   | `OnDrag
   | `OnDragEnd
   | `OnDragEnter
   | `OnDragLeave
   | `OnDragOver
   | `OnDragStart
   | `OnDrop
   | `OnDurationChange
   | `OnEmptied
   | `OnEnded
   | `OnError
   | `OnFocus
   | `OnFormChange
   | `OnFormInput
   | `OnInput
   | `OnInvalid
   | `OnKeyDown
   | `OnKeyPress
   | `OnKeyUp
   | `OnLoad
   | `OnLoadStart
   | `OnLoadedData
   | `OnLoadedMetaData
   | `OnMouseDown
   | `OnMouseMove
   | `OnMouseOut
   | `OnMouseOver
   | `OnMouseUp
   | `OnMouseWheel
   | `OnPause
   | `OnPlay
   | `OnPlaying
   | `OnProgress
   | `OnRateChange
   | `OnReadyStateChange
   | `OnScroll
   | `OnSeeked
   | `OnSeeking
   | `OnSelect
   | `OnShow
   | `OnStalled
   | `OnSubmit
   | `OnSuspend
   | `OnTimeUpdate
   | `OnVolumeChange
   | `OnWaiting
   | `Spellcheck
   | `Src
   | `Style_Attr
   | `Tabindex
   | `Title
   | `User_data
   | `Width
   | `XML_lang
   | `XMLns ],
   [> `Embed ])
  nullary
val audio : 
  ?srcs:Xml.uri * [< `Source ] elt list ->
  ([< `Accesskey
   | `Autoplay
   | `Class
   | `Contenteditable
   | `Contextmenu
   | `Controls
   | `Dir
   | `Draggable
   | `Hidden
   | `Id
   | `Loop
   | `OnAbort
   | `OnBlur
   | `OnCanPlay
   | `OnCanPlayThrough
   | `OnChange
   | `OnClick
   | `OnContextMenu
   | `OnDblClick
   | `OnDrag
   | `OnDragEnd
   | `OnDragEnter
   | `OnDragLeave
   | `OnDragOver
   | `OnDragStart
   | `OnDrop
   | `OnDurationChange
   | `OnEmptied
   | `OnEnded
   | `OnError
   | `OnFocus
   | `OnFormChange
   | `OnFormInput
   | `OnInput
   | `OnInvalid
   | `OnKeyDown
   | `OnKeyPress
   | `OnKeyUp
   | `OnLoad
   | `OnLoadStart
   | `OnLoadedData
   | `OnLoadedMetaData
   | `OnMouseDown
   | `OnMouseMove
   | `OnMouseOut
   | `OnMouseOver
   | `OnMouseUp
   | `OnMouseWheel
   | `OnPause
   | `OnPlay
   | `OnPlaying
   | `OnProgress
   | `OnRateChange
   | `OnReadyStateChange
   | `OnScroll
   | `OnSeeked
   | `OnSeeking
   | `OnSelect
   | `OnShow
   | `OnStalled
   | `OnSubmit
   | `OnSuspend
   | `OnTimeUpdate
   | `OnVolumeChange
   | `OnWaiting
   | `Preload
   | `Spellcheck
   | `Style_Attr
   | `Tabindex
   | `Title
   | `User_data
   | `XML_lang
   | `XMLns ],
   'a, [> `Audio of 'a ])
  star
val video : 
  ?srcs:Xml.uri * [< `Source ] elt list ->
  ([< `Accesskey
   | `Autoplay
   | `Class
   | `Contenteditable
   | `Contextmenu
   | `Controls
   | `Dir
   | `Draggable
   | `Height
   | `Hidden
   | `Id
   | `Loop
   | `OnAbort
   | `OnBlur
   | `OnCanPlay
   | `OnCanPlayThrough
   | `OnChange
   | `OnClick
   | `OnContextMenu
   | `OnDblClick
   | `OnDrag
   | `OnDragEnd
   | `OnDragEnter
   | `OnDragLeave
   | `OnDragOver
   | `OnDragStart
   | `OnDrop
   | `OnDurationChange
   | `OnEmptied
   | `OnEnded
   | `OnError
   | `OnFocus
   | `OnFormChange
   | `OnFormInput
   | `OnInput
   | `OnInvalid
   | `OnKeyDown
   | `OnKeyPress
   | `OnKeyUp
   | `OnLoad
   | `OnLoadStart
   | `OnLoadedData
   | `OnLoadedMetaData
   | `OnMouseDown
   | `OnMouseMove
   | `OnMouseOut
   | `OnMouseOver
   | `OnMouseUp
   | `OnMouseWheel
   | `OnPause
   | `OnPlay
   | `OnPlaying
   | `OnProgress
   | `OnRateChange
   | `OnReadyStateChange
   | `OnScroll
   | `OnSeeked
   | `OnSeeking
   | `OnSelect
   | `OnShow
   | `OnStalled
   | `OnSubmit
   | `OnSuspend
   | `OnTimeUpdate
   | `OnVolumeChange
   | `OnWaiting
   | `Poster
   | `Preload
   | `Spellcheck
   | `Style_Attr
   | `Tabindex
   | `Title
   | `User_data
   | `Width
   | `XML_lang
   | `XMLns ],
   'a, [> `Video of 'a ])
  star
val canvas : 
  ([< Html5_types.canvas_attrib ], 'a, [> `Canvas of 'a ])
  star
val source : 
  ([< Html5_types.source_attrib ], [> Html5_types.source ])
  nullary
val area : 
  alt:Html5_types.text ->
  ([< `Accesskey
   | `Alt
   | `Class
   | `Contenteditable
   | `Contextmenu
   | `Coords
   | `Dir
   | `Draggable
   | `Hidden
   | `Hreflang
   | `Id
   | `Media
   | `Mime_type
   | `OnAbort
   | `OnBlur
   | `OnCanPlay
   | `OnCanPlayThrough
   | `OnChange
   | `OnClick
   | `OnContextMenu
   | `OnDblClick
   | `OnDrag
   | `OnDragEnd
   | `OnDragEnter
   | `OnDragLeave
   | `OnDragOver
   | `OnDragStart
   | `OnDrop
   | `OnDurationChange
   | `OnEmptied
   | `OnEnded
   | `OnError
   | `OnFocus
   | `OnFormChange
   | `OnFormInput
   | `OnInput
   | `OnInvalid
   | `OnKeyDown
   | `OnKeyPress
   | `OnKeyUp
   | `OnLoad
   | `OnLoadStart
   | `OnLoadedData
   | `OnLoadedMetaData
   | `OnMouseDown
   | `OnMouseMove
   | `OnMouseOut
   | `OnMouseOver
   | `OnMouseUp
   | `OnMouseWheel
   | `OnPause
   | `OnPlay
   | `OnPlaying
   | `OnProgress
   | `OnRateChange
   | `OnReadyStateChange
   | `OnScroll
   | `OnSeeked
   | `OnSeeking
   | `OnSelect
   | `OnShow
   | `OnStalled
   | `OnSubmit
   | `OnSuspend
   | `OnTimeUpdate
   | `OnVolumeChange
   | `OnWaiting
   | `Rel
   | `Shape
   | `Spellcheck
   | `Style_Attr
   | `Tabindex
   | `Target
   | `Title
   | `User_data
   | `XML_lang
   | `XMLns ],
   [> `Area ])
  nullary
val map : ([< Html5_types.map_attrib ], 'a, [> `A of 'a ]) plus

Tables Data

val caption : 
  ([< Html5_types.caption_attrib ],
   [< Html5_types.caption_content_fun ], [> Html5_types.caption ])
  star
val table : 
  ?caption:[< `Caption ] elt ->
  ?columns:[< `Colgroup ] elt list ->
  ?thead:[< `Thead ] elt ->
  ?tfoot:[< `Tfoot ] elt ->
  ([< `Accesskey
   | `Class
   | `Contenteditable
   | `Contextmenu
   | `Dir
   | `Draggable
   | `Hidden
   | `Id
   | `OnAbort
   | `OnBlur
   | `OnCanPlay
   | `OnCanPlayThrough
   | `OnChange
   | `OnClick
   | `OnContextMenu
   | `OnDblClick
   | `OnDrag
   | `OnDragEnd
   | `OnDragEnter
   | `OnDragLeave
   | `OnDragOver
   | `OnDragStart
   | `OnDrop
   | `OnDurationChange
   | `OnEmptied
   | `OnEnded
   | `OnError
   | `OnFocus
   | `OnFormChange
   | `OnFormInput
   | `OnInput
   | `OnInvalid
   | `OnKeyDown
   | `OnKeyPress
   | `OnKeyUp
   | `OnLoad
   | `OnLoadStart
   | `OnLoadedData
   | `OnLoadedMetaData
   | `OnMouseDown
   | `OnMouseMove
   | `OnMouseOut
   | `OnMouseOver
   | `OnMouseUp
   | `OnMouseWheel
   | `OnPause
   | `OnPlay
   | `OnPlaying
   | `OnProgress
   | `OnRateChange
   | `OnReadyStateChange
   | `OnScroll
   | `OnSeeked
   | `OnSeeking
   | `OnSelect
   | `OnShow
   | `OnStalled
   | `OnSubmit
   | `OnSuspend
   | `OnTimeUpdate
   | `OnVolumeChange
   | `OnWaiting
   | `Spellcheck
   | `Style_Attr
   | `Summary
   | `Tabindex
   | `Title
   | `User_data
   | `XML_lang
   | `XMLns ],
   [< `Tr ], [> `Table ])
  plus
val tablex : 
  ?caption:[< `Caption ] elt ->
  ?columns:[< `Colgroup ] elt list ->
  ?thead:[< `Thead ] elt ->
  ?tfoot:[< `Tfoot ] elt ->
  ([< `Accesskey
   | `Class
   | `Contenteditable
   | `Contextmenu
   | `Dir
   | `Draggable
   | `Hidden
   | `Id
   | `OnAbort
   | `OnBlur
   | `OnCanPlay
   | `OnCanPlayThrough
   | `OnChange
   | `OnClick
   | `OnContextMenu
   | `OnDblClick
   | `OnDrag
   | `OnDragEnd
   | `OnDragEnter
   | `OnDragLeave
   | `OnDragOver
   | `OnDragStart
   | `OnDrop
   | `OnDurationChange
   | `OnEmptied
   | `OnEnded
   | `OnError
   | `OnFocus
   | `OnFormChange
   | `OnFormInput
   | `OnInput
   | `OnInvalid
   | `OnKeyDown
   | `OnKeyPress
   | `OnKeyUp
   | `OnLoad
   | `OnLoadStart
   | `OnLoadedData
   | `OnLoadedMetaData
   | `OnMouseDown
   | `OnMouseMove
   | `OnMouseOut
   | `OnMouseOver
   | `OnMouseUp
   | `OnMouseWheel
   | `OnPause
   | `OnPlay
   | `OnPlaying
   | `OnProgress
   | `OnRateChange
   | `OnReadyStateChange
   | `OnScroll
   | `OnSeeked
   | `OnSeeking
   | `OnSelect
   | `OnShow
   | `OnStalled
   | `OnSubmit
   | `OnSuspend
   | `OnTimeUpdate
   | `OnVolumeChange
   | `OnWaiting
   | `Spellcheck
   | `Style_Attr
   | `Summary
   | `Tabindex
   | `Title
   | `User_data
   | `XML_lang
   | `XMLns ],
   [< `Tbody ], [> `Table ])
  star
val colgroup : 
  ([< Html5_types.colgroup_attrib ],
   [< Html5_types.colgroup_content_fun ], [> Html5_types.colgroup ])
  star
val col : 
  ([< Html5_types.col_attrib ], [> Html5_types.col ])
  nullary
val thead : 
  ([< Html5_types.thead_attrib ], [< Html5_types.thead_content_fun ],
   [> Html5_types.thead ])
  star
val tbody : 
  ([< Html5_types.tbody_attrib ], [< Html5_types.tbody_content_fun ],
   [> Html5_types.tbody ])
  star
val tfoot : 
  ([< Html5_types.tfoot_attrib ], [< Html5_types.tfoot_content_fun ],
   [> Html5_types.tfoot ])
  star
val td : 
  ([< Html5_types.td_attrib ], [< Html5_types.td_content_fun ],
   [> Html5_types.td ])
  star
val th : 
  ([< Html5_types.th_attrib ], [< Html5_types.th_content_fun ],
   [> Html5_types.th ])
  star
val tr : 
  ([< Html5_types.tr_attrib ], [< Html5_types.tr_content_fun ],
   [> Html5_types.tr ])
  star

Forms

val form : 
  ([< Html5_types.form_attrib ], [< Html5_types.form_content_fun ],
   [> Html5_types.form ])
  plus
val fieldset : 
  ?legend:[ `Legend ] elt ->
  ([< `Accesskey
   | `Class
   | `Contenteditable
   | `Contextmenu
   | `Dir
   | `Disabled
   | `Draggable
   | `Form
   | `Hidden
   | `Id
   | `Name
   | `OnAbort
   | `OnBlur
   | `OnCanPlay
   | `OnCanPlayThrough
   | `OnChange
   | `OnClick
   | `OnContextMenu
   | `OnDblClick
   | `OnDrag
   | `OnDragEnd
   | `OnDragEnter
   | `OnDragLeave
   | `OnDragOver
   | `OnDragStart
   | `OnDrop
   | `OnDurationChange
   | `OnEmptied
   | `OnEnded
   | `OnError
   | `OnFocus
   | `OnFormChange
   | `OnFormInput
   | `OnInput
   | `OnInvalid
   | `OnKeyDown
   | `OnKeyPress
   | `OnKeyUp
   | `OnLoad
   | `OnLoadStart
   | `OnLoadedData
   | `OnLoadedMetaData
   | `OnMouseDown
   | `OnMouseMove
   | `OnMouseOut
   | `OnMouseOver
   | `OnMouseUp
   | `OnMouseWheel
   | `OnPause
   | `OnPlay
   | `OnPlaying
   | `OnProgress
   | `OnRateChange
   | `OnReadyStateChange
   | `OnScroll
   | `OnSeeked
   | `OnSeeking
   | `OnSelect
   | `OnShow
   | `OnStalled
   | `OnSubmit
   | `OnSuspend
   | `OnTimeUpdate
   | `OnVolumeChange
   | `OnWaiting
   | `Spellcheck
   | `Style_Attr
   | `Tabindex
   | `Title
   | `User_data
   | `XML_lang
   | `XMLns ],
   [< Html5_types.flow5 ], [> `Fieldset ])
  star
val legend : 
  ([< Html5_types.legend_attrib ], [< Html5_types.legend_content_fun ],
   [> Html5_types.legend ])
  star
val label : 
  ([< Html5_types.label_attrib ], [< Html5_types.label_content_fun ],
   [> Html5_types.label ])
  star

Label authorizes only one control inside them that should be labelled with a for attribute (although it is not necessary). Such constraints are not currently enforced by the type-system

val input : 
  ([< Html5_types.input_attrib ], [> Html5_types.input ])
  nullary

If the type attribute is not "hidden", must be considered as interactive. Distinction not made for now.

val button : 
  ([< Html5_types.button_attrib ], [< Html5_types.button_content_fun ],
   [> Html5_types.button ])
  star
val select : 
  ([< Html5_types.select_attrib ], [< Html5_types.select_content_fun ],
   [> Html5_types.select ])
  star
val datalist : 
  ?children:[< `Options of [< `Option ] elt list
   | `Phras of [< Html5_types.phrasing ] elt list ] ->
  ([< Html5_types.common ], [> `Datalist ]) nullary
val optgroup : 
  label:Html5_types.text ->
  ([< `Accesskey
   | `Class
   | `Contenteditable
   | `Contextmenu
   | `Dir
   | `Disabled
   | `Draggable
   | `Hidden
   | `Id
   | `Label
   | `OnAbort
   | `OnBlur
   | `OnCanPlay
   | `OnCanPlayThrough
   | `OnChange
   | `OnClick
   | `OnContextMenu
   | `OnDblClick
   | `OnDrag
   | `OnDragEnd
   | `OnDragEnter
   | `OnDragLeave
   | `OnDragOver
   | `OnDragStart
   | `OnDrop
   | `OnDurationChange
   | `OnEmptied
   | `OnEnded
   | `OnError
   | `OnFocus
   | `OnFormChange
   | `OnFormInput
   | `OnInput
   | `OnInvalid
   | `OnKeyDown
   | `OnKeyPress
   | `OnKeyUp
   | `OnLoad
   | `OnLoadStart
   | `OnLoadedData
   | `OnLoadedMetaData
   | `OnMouseDown
   | `OnMouseMove
   | `OnMouseOut
   | `OnMouseOver
   | `OnMouseUp
   | `OnMouseWheel
   | `OnPause
   | `OnPlay
   | `OnPlaying
   | `OnProgress
   | `OnRateChange
   | `OnReadyStateChange
   | `OnScroll
   | `OnSeeked
   | `OnSeeking
   | `OnSelect
   | `OnShow
   | `OnStalled
   | `OnSubmit
   | `OnSuspend
   | `OnTimeUpdate
   | `OnVolumeChange
   | `OnWaiting
   | `Spellcheck
   | `Style_Attr
   | `Tabindex
   | `Title
   | `User_data
   | `XML_lang
   | `XMLns ],
   [< `Option ], [> `Optgroup ])
  star
val option : 
  ([< Html5_types.option_attrib ], [< Html5_types.option_content_fun ],
   [> Html5_types.selectoption ])
  unary
val textarea : 
  ([< Html5_types.textarea_attrib ],
   [< Html5_types.textarea_content_fun ], [> Html5_types.textarea ])
  unary
val keygen : 
  ([< Html5_types.keygen_attrib ], [> Html5_types.keygen ])
  nullary
val progress : 
  ([< Html5_types.progress_attrib ],
   [< Html5_types.progress_content_fun ], [> Html5_types.progress ])
  star
val meter : 
  ([< Html5_types.meter_attrib ], [< Html5_types.meter_content_fun ],
   [> Html5_types.meter ])
  star
val output_elt : 
  ([< Html5_types.output_elt_attrib ],
   [< Html5_types.output_elt_content_fun ], [> Html5_types.output_elt ])
  star

Data

val pcdata : string -> [> `PCDATA ] elt
val entity : string -> [> `PCDATA ] elt
val space : unit -> [> `PCDATA ] elt
val cdata : string -> [> `PCDATA ] elt
val cdata_script : string -> [> `PCDATA ] elt
val cdata_style : string -> [> `PCDATA ] elt

Interactive

val details : 
  [< `Summary ] elt ->
  ([< `Accesskey
   | `Class
   | `Contenteditable
   | `Contextmenu
   | `Dir
   | `Draggable
   | `Hidden
   | `Id
   | `OnAbort
   | `OnBlur
   | `OnCanPlay
   | `OnCanPlayThrough
   | `OnChange
   | `OnClick
   | `OnContextMenu
   | `OnDblClick
   | `OnDrag
   | `OnDragEnd
   | `OnDragEnter
   | `OnDragLeave
   | `OnDragOver
   | `OnDragStart
   | `OnDrop
   | `OnDurationChange
   | `OnEmptied
   | `OnEnded
   | `OnError
   | `OnFocus
   | `OnFormChange
   | `OnFormInput
   | `OnInput
   | `OnInvalid
   | `OnKeyDown
   | `OnKeyPress
   | `OnKeyUp
   | `OnLoad
   | `OnLoadStart
   | `OnLoadedData
   | `OnLoadedMetaData
   | `OnMouseDown
   | `OnMouseMove
   | `OnMouseOut
   | `OnMouseOver
   | `OnMouseUp
   | `OnMouseWheel
   | `OnPause
   | `OnPlay
   | `OnPlaying
   | `OnProgress
   | `OnRateChange
   | `OnReadyStateChange
   | `OnScroll
   | `OnSeeked
   | `OnSeeking
   | `OnSelect
   | `OnShow
   | `OnStalled
   | `OnSubmit
   | `OnSuspend
   | `OnTimeUpdate
   | `OnVolumeChange
   | `OnWaiting
   | `Open
   | `Spellcheck
   | `Style_Attr
   | `Tabindex
   | `Title
   | `User_data
   | `XML_lang
   | `XMLns ],
   [< Html5_types.flow5 ] elt, [> `Details ])
  star
val summary : 
  ([< Html5_types.summary_attrib ],
   [< Html5_types.summary_content_fun ], [> Html5_types.summary ])
  star
val command : 
  label:Html5_types.text ->
  ([< `Accesskey
   | `Checked
   | `Class
   | `Command_Type
   | `Contenteditable
   | `Contextmenu
   | `Dir
   | `Disabled
   | `Draggable
   | `Hidden
   | `Icon
   | `Id
   | `OnAbort
   | `OnBlur
   | `OnCanPlay
   | `OnCanPlayThrough
   | `OnChange
   | `OnClick
   | `OnContextMenu
   | `OnDblClick
   | `OnDrag
   | `OnDragEnd
   | `OnDragEnter
   | `OnDragLeave
   | `OnDragOver
   | `OnDragStart
   | `OnDrop
   | `OnDurationChange
   | `OnEmptied
   | `OnEnded
   | `OnError
   | `OnFocus
   | `OnFormChange
   | `OnFormInput
   | `OnInput
   | `OnInvalid
   | `OnKeyDown
   | `OnKeyPress
   | `OnKeyUp
   | `OnLoad
   | `OnLoadStart
   | `OnLoadedData
   | `OnLoadedMetaData
   | `OnMouseDown
   | `OnMouseMove
   | `OnMouseOut
   | `OnMouseOver
   | `OnMouseUp
   | `OnMouseWheel
   | `OnPause
   | `OnPlay
   | `OnPlaying
   | `OnProgress
   | `OnRateChange
   | `OnReadyStateChange
   | `OnScroll
   | `OnSeeked
   | `OnSeeking
   | `OnSelect
   | `OnShow
   | `OnStalled
   | `OnSubmit
   | `OnSuspend
   | `OnTimeUpdate
   | `OnVolumeChange
   | `OnWaiting
   | `Radiogroup
   | `Spellcheck
   | `Style_Attr
   | `Tabindex
   | `Title
   | `User_data
   | `XML_lang
   | `XMLns ],
   [> `Command ])
  nullary
val menu : 
  ?child:[< `Flows of [< Html5_types.flow5 ] elt list
   | `Lis of
   [< `Li of [< Html5_types.common ] ] elt list ] ->
  ([< `Accesskey
   | `Class
   | `Contenteditable
   | `Contextmenu
   | `Dir
   | `Draggable
   | `Hidden
   | `Id
   | `Label
   | `Menu_Type
   | `OnAbort
   | `OnBlur
   | `OnCanPlay
   | `OnCanPlayThrough
   | `OnChange
   | `OnClick
   | `OnContextMenu
   | `OnDblClick
   | `OnDrag
   | `OnDragEnd
   | `OnDragEnter
   | `OnDragLeave
   | `OnDragOver
   | `OnDragStart
   | `OnDrop
   | `OnDurationChange
   | `OnEmptied
   | `OnEnded
   | `OnError
   | `OnFocus
   | `OnFormChange
   | `OnFormInput
   | `OnInput
   | `OnInvalid
   | `OnKeyDown
   | `OnKeyPress
   | `OnKeyUp
   | `OnLoad
   | `OnLoadStart
   | `OnLoadedData
   | `OnLoadedMetaData
   | `OnMouseDown
   | `OnMouseMove
   | `OnMouseOut
   | `OnMouseOver
   | `OnMouseUp
   | `OnMouseWheel
   | `OnPause
   | `OnPlay
   | `OnPlaying
   | `OnProgress
   | `OnRateChange
   | `OnReadyStateChange
   | `OnScroll
   | `OnSeeked
   | `OnSeeking
   | `OnSelect
   | `OnShow
   | `OnStalled
   | `OnSubmit
   | `OnSuspend
   | `OnTimeUpdate
   | `OnVolumeChange
   | `OnWaiting
   | `Spellcheck
   | `Style_Attr
   | `Tabindex
   | `Title
   | `User_data
   | `XML_lang
   | `XMLns ],
   [> `Menu ])
  nullary

Scripting

val script : 
  ([< Html5_types.script_attrib ], [< Html5_types.script_content_fun ],
   [> Html5_types.script ])
  unary
val noscript : 
  ([< Html5_types.noscript_attrib ],
   [< Html5_types.noscript_content_fun ], [> Html5_types.noscript ])
  plus
val meta : 
  ([< Html5_types.meta_attrib ], [> Html5_types.meta ])
  nullary

Style Sheets

val style : 
  ([< Html5_types.style_attrib ], [< Html5_types.style_content_fun ],
   [> Html5_types.style ])
  star

Tools

val tot : Xml.elt -> 'a elt
val totl : Xml.elt list -> 'a elt list
val toelt : 'a elt -> Xml.elt
val toeltl : 'a elt list -> Xml.elt list
type doc = [ `Html ] elt
val doc_toelt : doc -> Xml.elt