Skip to main content

dioxus_html/
elements.rs

1// Organized in the same order as
2// https://developer.mozilla.org/en-US/docs/Web/HTML/Element
3//
4// Does not include obsolete elements.
5//
6// This namespace represents a collection of modern HTML-5 compatible elements.
7//
8// This list does not include obsolete, deprecated, experimental, or poorly supported elements.
9
10// Re-export the element-vocabulary root so that any `use dioxus_html::elements::*` (the common
11// way to bring elements into scope) also brings `html` into scope. `rsx!` lowers a bare element
12// like `div` to the associated const `html::div`, which needs the root type reachable here.
13pub use crate::html;
14
15dioxus_html_internal_macro::define_elements! {
16    core = dioxus_core,
17    html = crate,
18    hot_reload_context = true;
19
20    // Document metadata
21
22    /// Build a
23    /// [`<base>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/base)
24    /// element.
25    ///
26    base {
27        href,
28        target,
29    }
30
31    /// Build a
32    /// [`<head>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/head)
33    /// element.
34    head {}
35
36    /// Build a
37    /// [`<link>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/link)
38    /// element.
39    link {
40        // as: Mime,
41        crossorigin,
42        href,
43        hreflang,
44        media, // FIXME media query
45        rel,
46        sizes, // FIXME
47        title, // FIXME
48        #[attr(name = "type")]
49        r#type,
50        integrity,
51        disabled,
52        referrerpolicy,
53        fetchpriority,
54        blocking,
55        #[attr(name = "as")]
56        r#as,
57    }
58
59    /// Build a
60    /// [`<meta>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta)
61    /// element.
62    meta {
63        charset, // FIXME IANA standard names
64        content,
65        #[attr(name = "http-equiv")]
66        http_equiv,
67        name,
68        property,
69    }
70
71    /// Build a
72    /// [`<style>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/style)
73    /// element.
74    style {
75        #[attr(name = "type")]
76        r#type,
77        media, // FIXME media query
78        nonce,
79        title, // FIXME
80    }
81
82    /// Build a
83    /// [`<title>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/title)
84    /// element.
85    title {}
86
87    // Sectioning root
88
89    /// Build a
90    /// [`<body>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/body)
91    /// element.
92    body {}
93
94    // ------------------
95    // Content sectioning
96    // ------------------
97
98    /// Build a
99    /// [`<address>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/address)
100    /// element.
101    address {}
102
103    /// Build a
104    /// [`<article>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/article)
105    /// element.
106    article {}
107
108    /// Build a
109    /// [`<aside>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/aside)
110    /// element.
111    aside {}
112
113    /// Build a
114    /// [`<footer>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/footer)
115    /// element.
116    footer {}
117
118    /// Build a
119    /// [`<header>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/header)
120    /// element.
121    header {}
122
123    /// Build a
124    /// [`<hgroup>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/hgroup)
125    /// element.
126    hgroup {}
127
128    /// Build a
129    /// [`<h1>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/h1)
130    /// element.
131    ///
132    /// # About
133    /// - The HTML `<h1>` element is found within the `<body>` tag.
134    /// - Headings can range from `<h1>` to `<h6>`.
135    /// - The most important heading is `<h1>` and the least important heading is `<h6>`.
136    /// - The `<h1>` heading is the first heading in the document.
137    /// - The `<h1>` heading is usually a large bolded font.
138    h1 {}
139
140    /// Build a
141    /// [`<h2>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/h2)
142    /// element.
143    ///
144    /// # About
145    /// - The HTML `<h2>` element is found within the `<body>` tag.
146    /// - Headings can range from `<h1>` to `<h6>`.
147    /// - The most important heading is `<h1>` and the least important heading is `<h6>`.
148    /// - The `<h2>` heading is the second heading in the document.
149    /// - The `<h2>` heading is usually a large bolded font.
150    h2 {}
151
152    /// Build a
153    /// [`<h3>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/h3)
154    /// element.
155    ///
156    /// # About
157    /// - The HTML `<h1>` element is found within the `<body>` tag.
158    /// - Headings can range from `<h1>` to `<h6>`.
159    /// - The most important heading is `<h1>` and the least important heading is `<h6>`.
160    /// - The `<h1>` heading is the first heading in the document.
161    /// - The `<h1>` heading is usually a large bolded font.
162    h3 {}
163
164    /// Build a
165    /// [`<h4>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/h4)
166    /// element.
167    h4 {}
168
169    /// Build a
170    /// [`<h5>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/h5)
171    /// element.
172    h5 {}
173
174    /// Build a
175    /// [`<h6>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/h6)
176    /// element.
177    h6 {}
178
179    /// Build a
180    /// [`<main>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/main)
181    /// element.
182    main {}
183
184    /// Build a
185    /// [`<nav>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/nav)
186    /// element.
187    nav {}
188
189    /// Build a
190    /// [`<section>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/section)
191    /// element.
192    section {}
193
194    // Text content
195
196    /// Build a
197    /// [`<blockquote>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/blockquote)
198    /// element.
199    blockquote {
200        cite,
201    }
202    /// Build a
203    /// [`<dd>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dd)
204    /// element.
205    dd {}
206
207    /// Build a
208    /// [`<div>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/div)
209    /// element.
210    ///
211    /// Part of the HTML namespace. Only works in HTML-compatible renderers
212    ///
213    /// ## Definition and Usage
214    /// - The `<div>` tag defines a division or a section in an HTML document.
215    /// - The `<div>` tag is used as a container for HTML elements - which is then styled with CSS or manipulated with  JavaScript.
216    /// - The `<div>` tag is easily styled by using the class or id attribute.
217    /// - Any sort of content can be put inside the `<div>` tag!
218    ///
219    /// Note: By default, browsers always place a line break before and after the `<div>` element.
220    ///
221    /// ## References:
222    /// - <https://developer.mozilla.org/en-US/docs/Web/HTML/Element/div>
223    /// - <https://www.w3schools.com/tags/tag_div.asp>
224    div {}
225
226    /// Build a
227    /// [`<dl>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dl)
228    /// element.
229    dl {}
230
231    /// Build a
232    /// [`<dt>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dt)
233    /// element.
234    dt {}
235
236    /// Build a
237    /// [`<figcaption>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/figcaption)
238    /// element.
239    figcaption {}
240
241    /// Build a
242    /// [`<figure>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/figure)
243    /// element.
244    figure {}
245
246    /// Build a
247    /// [`<hr>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/hr)
248    /// element.
249    hr {}
250
251    /// Build a
252    /// [`<li>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/li)
253    /// element.
254    li {
255        value,
256    }
257
258    /// Build a
259    /// [`<ol>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/ol)
260    /// element.
261    ol {
262        reversed,
263        start,
264        #[attr(name = "type")]
265        r#type,
266    }
267
268    /// Build a
269    /// [`<p>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/p)
270    /// element.
271    p {}
272
273    /// Build a
274    /// [`<pre>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/pre)
275    /// element.
276    pre {}
277
278    /// Build a
279    /// [`<ul>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/ul)
280    /// element.
281    ul {}
282
283
284    // Inline text semantics
285
286    /// Build a
287    /// [`<a>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a)
288    /// element.
289    a {
290        download,
291        href,
292        hreflang,
293        target,
294        #[attr(name = "type")]
295        r#type,
296        // ping: SpacedList<Uri>,
297        // rel: SpacedList<LinkType>,
298        ping,
299        rel,
300    }
301
302    /// Build a
303    /// [`<abbr>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/abbr)
304    /// element.
305    abbr {}
306
307    /// Build a
308    /// [`<b>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/b)
309    /// element.
310    b {}
311
312    /// Build a
313    /// [`<bdi>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/bdi)
314    /// element.
315    bdi {}
316
317    /// Build a
318    /// [`<bdo>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/bdo)
319    /// element.
320    bdo {}
321
322    /// Build a
323    /// [`<br>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/br)
324    /// element.
325    br {}
326
327    /// Build a
328    /// [`<cite>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/cite)
329    /// element.
330    cite {}
331
332    /// Build a
333    /// [`<code>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/code)
334    /// element.
335    code {
336        language,
337    }
338
339    /// Build a
340    /// [`<data>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/data)
341    /// element.
342    data {
343        value,
344    }
345
346    /// Build a
347    /// [`<dfn>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dfn)
348    /// element.
349    dfn {}
350
351    /// Build a
352    /// [`<em>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/em)
353    /// element.
354    em {}
355
356    /// Build a
357    /// [`<i>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/i)
358    /// element.
359    i {}
360
361    /// Build a
362    /// [`<kbd>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/kbd)
363    /// element.
364    kbd {}
365
366    /// Build a
367    /// [`<mark>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/mark)
368    /// element.
369    mark {}
370
371    /// Build a
372    /// [`<menu>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/menu)
373    /// element.
374    menu {}
375
376    /// Build a
377    /// [`<q>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/q)
378    /// element.
379    q {
380        cite,
381    }
382
383
384    /// Build a
385    /// [`<rp>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/rp)
386    /// element.
387    rp {}
388
389
390    /// Build a
391    /// [`<rt>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/rt)
392    /// element.
393    rt {}
394
395
396    /// Build a
397    /// [`<ruby>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/ruby)
398    /// element.
399    ruby {}
400
401    /// Build a
402    /// [`<s>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/s)
403    /// element.
404    s {}
405
406    /// Build a
407    /// [`<samp>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/samp)
408    /// element.
409    samp {}
410
411    /// Build a
412    /// [`<small>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/small)
413    /// element.
414    small {}
415
416    /// Build a
417    /// [`<span>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/span)
418    /// element.
419    span {}
420
421    /// Build a
422    /// [`<strong>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/strong)
423    /// element.
424    strong {}
425
426    /// Build a
427    /// [`<sub>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/sub)
428    /// element.
429    sub {}
430
431    /// Build a
432    /// [`<sup>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/sup)
433    /// element.
434    sup {}
435
436    /// Build a
437    /// [`<time>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/time)
438    /// element.
439    time {
440        datetime,
441    }
442
443    /// Build a
444    /// [`<u>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/u)
445    /// element.
446    u {}
447
448    /// Build a
449    /// [`<var>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/var)
450    /// element.
451    var {}
452
453    /// Build a
454    /// [`<wbr>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/wbr)
455    /// element.
456    wbr {}
457
458
459    // Image and multimedia
460
461    /// Build a
462    /// [`<area>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/area)
463    /// element.
464    area {
465        alt,
466        coords, // TODO could perhaps be validated
467        download,
468        href,
469        hreflang,
470        shape,
471        target,
472        // ping: SpacedList<Uri>,
473        // rel: SpacedSet<LinkType>,
474    }
475
476    /// Build a
477    /// [`<audio>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/audio)
478    /// element.
479    audio {
480        autoplay,
481        controls,
482        crossorigin,
483        muted,
484        preload,
485        src,
486        #[attr(name = "loop")]
487        r#loop,
488    }
489
490    /// Build a
491    /// [`<img>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img)
492    /// element.
493    img {
494        alt,
495        crossorigin,
496        decoding,
497        height,
498        ismap,
499        loading,
500        src,
501        srcset, // FIXME this is much more complicated
502        usemap, // FIXME should be a fragment starting with '#'
503        width,
504        referrerpolicy,
505        sizes, // FIXME
506        elementtiming,
507        fetchpriority,
508        attributionsrc,
509    }
510
511    /// Build a
512    /// [`<map>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/map)
513    /// element.
514    map {
515        name,
516    }
517
518    /// Build a
519    /// [`<track>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/track)
520    /// element.
521    track {
522        default,
523        kind,
524        label,
525        src,
526        srclang,
527    }
528
529    /// Build a
530    /// [`<video>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/video)
531    /// element.
532    video {
533        autoplay,
534        controls,
535        crossorigin,
536        height,
537        #[attr(name = "loop")]
538        r#loop,
539        muted,
540        preload,
541        playsinline,
542        poster,
543        src,
544        width,
545    }
546
547
548    // Embedded content
549
550    /// Build a
551    /// [`<embed>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/embed)
552    /// element.
553    embed {
554        height,
555        src,
556        #[attr(name = "type")]
557        r#type,
558        width,
559    }
560
561    /// Build a
562    /// [`<iframe>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe)
563    /// element.
564    iframe {
565        allow,
566        allowfullscreen,
567        allowpaymentrequest,
568        height,
569        name,
570        referrerpolicy,
571        src,
572        srcdoc,
573        width,
574
575        #[attr(name = "marginWidth")]
576
577        margin_width,
578        align,
579        longdesc,
580
581        scrolling,
582        #[attr(name = "marginHeight")]
583        margin_height,
584        #[attr(name = "frameBorder")]
585        frame_border,
586        // sandbox: SpacedSet<Sandbox>,
587    }
588
589    /// Build a
590    /// [`<object>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/object)
591    /// element.
592    object {
593        data,
594        form,
595        height,
596        name,
597        #[attr(name = "type")]
598        r#type,
599        typemustmatch,
600        usemap, // TODO should be a fragment starting with '#'
601        width,
602    }
603
604    /// Build a
605    /// [`<param>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/param)
606    /// element.
607    param {
608        name,
609        value,
610    }
611
612    /// Build a
613    /// [`<picture>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/picture)
614    /// element.
615    picture {}
616
617    /// Build a
618    /// [`<source>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/source)
619    /// element.
620    source {
621        src,
622        #[attr(name = "type")]
623        r#type,
624        srcset,
625        media,
626        sizes,
627        width,
628        height,
629    }
630
631
632    // Scripting
633
634    /// Build a
635    /// [`<canvas>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/canvas)
636    /// element.
637    canvas {
638        height,
639        width,
640    }
641
642    /// Build a
643    /// [`<noscript>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/noscript)
644    /// element.
645    noscript {}
646
647    /// Build a
648    /// [`<script>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script)
649    /// element.
650    ///
651    /// The script HTML element is used to embed executable code or data; this is typically used to embed or refer to
652    /// JavaScript code. The script element can also be used with other languages, such as WebGL's GLSL shader
653    /// programming language and JSON.
654    script {
655        /// Normal script elements pass minimal information to the window.onerror for scripts which do not pass the
656        /// standard CORS checks. To allow error logging for sites which use a separate domain for static media, use
657        /// this attribute. See CORS settings attributes for a more descriptive explanation of its valid arguments.
658        crossorigin,
659
660        /// This Boolean attribute is set to indicate to a browser that the script is meant to be executed after the
661        /// document has been parsed, but before firing DOMContentLoaded.
662        ///
663        /// Scripts with the defer attribute will prevent the DOMContentLoaded event from firing until the script has
664        /// loaded and finished evaluating.
665        ///
666        /// ----
667        /// ### Warning:
668        ///
669        /// This attribute must not be used if the src attribute is absent (i.e. for inline scripts), in this
670        /// case it would have no effect.
671        ///
672        /// ----
673        ///
674        /// The defer attribute has no effect on module scripts — they defer by default.
675        /// Scripts with the defer attribute will execute in the order in which they appear in the document.
676        ///
677        /// This attribute allows the elimination of parser-blocking JavaScript where the browser would have to load and
678        /// evaluate scripts before continuing to parse. async has a similar effect in this case.
679        defer,
680        integrity,
681        nomodule,
682        nonce,
683        src,
684        text,
685        fetchpriority,
686        referrerpolicy,
687
688        #[attr(name = "async")]
689
690        r#async,
691        #[attr(name = "type")]
692        r#type, // TODO could be an enum
693        #[attr(name = "script")]
694        r#script,
695    }
696
697
698    // Demarcating edits
699
700    /// Build a
701    /// [`<del>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/del)
702    /// element.
703    del {
704        cite,
705        datetime,
706    }
707
708    /// Build a
709    /// [`<ins>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/ins)
710    /// element.
711    ins {
712        cite,
713        datetime,
714    }
715
716
717    // Table content
718
719    /// Build a
720    /// [`<caption>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/caption)
721    /// element.
722    caption {}
723
724    /// Build a
725    /// [`<col>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/col)
726    /// element.
727    col {
728        span,
729    }
730
731    /// Build a
732    /// [`<colgroup>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/colgroup)
733    /// element.
734    colgroup {
735        span,
736    }
737
738    /// Build a
739    /// [`<table>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/table)
740    /// element.
741    table {}
742
743    /// Build a
744    /// [`<tbody>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/tbody)
745    /// element.
746    tbody {}
747
748    /// Build a
749    /// [`<td>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/td)
750    /// element.
751    td {
752        colspan,
753        rowspan,
754        // headers: SpacedSet<Id>,
755    }
756
757    /// Build a
758    /// [`<tfoot>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/tfoot)
759    /// element.
760    tfoot {}
761
762    /// Build a
763    /// [`<th>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/th)
764    /// element.
765    th {
766        abbr,
767        colspan,
768        rowspan,
769        scope,
770        // headers: SpacedSet<Id>,
771    }
772
773    /// Build a
774    /// [`<thead>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/thead)
775    /// element.
776    thead {}
777
778    /// Build a
779    /// [`<tr>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/tr)
780    /// element.
781    tr {}
782
783
784    // Forms
785
786    /// Build a
787    /// [`<button>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button)
788    /// element.
789    button {
790        autofocus,
791        disabled,
792        form,
793        formaction,
794        formenctype,
795        formmethod,
796        formnovalidate,
797        formtarget,
798        name,
799        popovertarget,
800        popovertargetaction,
801        value,
802        #[attr(name = "type")]
803        r#type,
804    }
805
806    /// Build a
807    /// [`<datalist>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/datalist)
808    /// element.
809    datalist {}
810
811    /// Build a
812    /// [`<fieldset>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/fieldset)
813    /// element.
814    fieldset {
815        disabled,
816        form,
817        name,
818    }
819
820    /// Build a
821    /// [`<form>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form)
822    /// element.
823    form {
824        // accept-charset: SpacedList<CharacterEncoding>,
825        action,
826        autocomplete,
827        enctype,
828        method,
829        name,
830        novalidate,
831        target,
832    }
833
834    /// Build a
835    /// [`<input>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input)
836    /// element.
837    input {
838        accept,
839        alt,
840        autocomplete,
841        /// cf. <https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Global_attributes/autocorrect>
842        autocorrect,
843        autofocus,
844        capture,
845        checked,
846        #[attr(name = "webkitdirectory")]
847        directory,
848        disabled,
849        form,
850        formaction,
851        formenctype,
852        formmethod,
853        formnovalidate,
854        formtarget,
855        height,
856        initial_checked,
857        list,
858        max,
859        maxlength,
860        min,
861        minlength,
862        multiple,
863        name,
864        pattern,
865        popovertarget,
866        popovertargetaction,
867        placeholder,
868        readonly,
869        required,
870        size,
871        spellcheck,
872        src,
873        step,
874        tabindex,
875        width,
876
877        /// The type of input
878        ///
879        /// Here are the different input types you can use in HTML:
880        ///
881        /// - `button`
882        /// - `checkbox`
883        /// - `color`
884        /// - `date`
885        /// - `datetime-local`
886        /// - `email`
887        /// - `file`
888        /// - `hidden`
889        /// - `image`
890        /// - `month`
891        /// - `number`
892        /// - `password`
893        /// - `radio`
894        /// - `range`
895        /// - `reset`
896        /// - `search`
897        /// - `submit`
898        /// - `tel`
899        /// - `text`
900        /// - `time`
901        /// - `url`
902        /// - `week`
903
904        #[attr(name = "type")]
905
906        r#type,
907        // value: String,
908        #[attr(volatile)]
909        value,
910        initial_value,
911    }
912
913    /// Build a
914    /// [`<label>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/label)
915    /// element.
916    label {
917        form,
918        #[attr(name = "for")]
919        r#for,
920    }
921
922    /// Build a
923    /// [`<legend>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/legend)
924    /// element.
925    legend {}
926
927    /// Build a
928    /// [`<meter>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meter)
929    /// element.
930    meter {
931        value,
932        min,
933        max,
934        low,
935        high,
936        optimum,
937        form,
938    }
939
940    /// Build a
941    /// [`<optgroup>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/optgroup)
942    /// element.
943    optgroup {
944        disabled,
945        label,
946    }
947
948    /// Build a
949    /// [`<option>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/option)
950    /// element.
951    option {
952        disabled,
953        label,
954
955
956        value,
957
958        #[attr(volatile)]
959        selected,
960        initial_selected,
961    }
962
963    /// Build a
964    /// [`<output>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/output)
965    /// element.
966    output {
967        form,
968        name,
969        // r#for: SpacedSet<Id>,
970    }
971
972    /// Build a
973    /// [`<progress>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/progress)
974    /// element.
975    progress {
976        max,
977        value,
978    }
979
980    /// Build a
981    /// [`<select>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select)
982    /// element.
983    select {
984        // defined below
985        // value: String,
986        autocomplete,
987        autofocus,
988        disabled,
989        form,
990        multiple,
991        name,
992        required,
993        size,
994        #[attr(volatile)]
995        value,
996    }
997
998    /// Build a
999    /// [`<textarea>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea)
1000    /// element.
1001    textarea {
1002        autocomplete,
1003        /// cf. <https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Global_attributes/autocorrect>
1004        autocorrect,
1005        autofocus,
1006        cols,
1007        disabled,
1008        form,
1009        maxlength,
1010        minlength,
1011        name,
1012        placeholder,
1013        readonly,
1014        required,
1015        rows,
1016        spellcheck,
1017        wrap,
1018        #[attr(volatile)]
1019        value,
1020
1021        initial_value,
1022    }
1023
1024
1025    // Interactive elements
1026
1027    /// Build a
1028    /// [`<details>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/details)
1029    /// element.
1030    details {
1031        open,
1032    }
1033
1034    /// Build dialog
1035    /// [`<dialog>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dialog)
1036    /// element.
1037    dialog {
1038        open,
1039    }
1040
1041    /// Build a
1042    /// [`<summary>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/summary)
1043    /// element.
1044    summary {}
1045
1046    // Web components
1047
1048    /// Build a
1049    /// [`<slot>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/slot)
1050    /// element.
1051    slot {
1052        name,
1053    }
1054
1055    /// Build a
1056    /// [`<template>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/template)
1057    /// element.
1058    template {}
1059
1060    // SVG components
1061    /// Build a
1062    /// [`<svg>`](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/svg)
1063    /// element.
1064    #[element(namespace = "http://www.w3.org/2000/svg")]
1065    svg {}
1066
1067
1068    // /// Build a
1069    // /// [`<a>`](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/a)
1070    // /// element.
1071    // #[element(namespace = "http://www.w3.org/2000/svg")]
1072    // a {}
1073
1074    /// Build a
1075    /// [`<animate>`](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/animate)
1076    /// element.
1077    #[element(namespace = "http://www.w3.org/2000/svg")]
1078    animate {}
1079
1080    /// Build a
1081    /// [`<animateMotion>`](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/animateMotion)
1082    /// element.
1083    #[element(namespace = "http://www.w3.org/2000/svg")]
1084    animateMotion {}
1085
1086    /// Build a
1087    /// [`<animateTransform>`](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/animateTransform)
1088    /// element.
1089    #[element(namespace = "http://www.w3.org/2000/svg")]
1090    animateTransform {}
1091
1092    /// Build a
1093    /// [`<circle>`](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/circle)
1094    /// element.
1095    #[element(namespace = "http://www.w3.org/2000/svg")]
1096    circle {}
1097
1098    /// Build a
1099    /// [`<clipPath>`](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/clipPath)
1100    /// element.
1101    #[element(namespace = "http://www.w3.org/2000/svg")]
1102    clipPath {}
1103
1104    /// Build a
1105    /// [`<defs>`](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/defs)
1106    /// element.
1107    #[element(namespace = "http://www.w3.org/2000/svg")]
1108    defs {}
1109
1110    /// Build a
1111    /// [`<desc>`](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/desc)
1112    /// element.
1113    #[element(namespace = "http://www.w3.org/2000/svg")]
1114    desc {}
1115
1116    /// Build a
1117    /// [`<discard>`](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/discard)
1118    /// element.
1119    #[element(namespace = "http://www.w3.org/2000/svg")]
1120    discard {}
1121
1122    /// Build a
1123    /// [`<ellipse>`](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/ellipse)
1124    /// element.
1125    #[element(namespace = "http://www.w3.org/2000/svg")]
1126    ellipse {}
1127
1128    /// Build a
1129    /// [`<feBlend>`](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feBlend)
1130    /// element.
1131    #[element(namespace = "http://www.w3.org/2000/svg")]
1132    feBlend {}
1133
1134    /// Build a
1135    /// [`<feColorMatrix>`](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feColorMatrix)
1136    /// element.
1137    #[element(namespace = "http://www.w3.org/2000/svg")]
1138    feColorMatrix {}
1139
1140    /// Build a
1141    /// [`<feComponentTransfer>`](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feComponentTransfer)
1142    /// element.
1143    #[element(namespace = "http://www.w3.org/2000/svg")]
1144    feComponentTransfer {}
1145
1146    /// Build a
1147    /// [`<feComposite>`](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feComposite)
1148    /// element.
1149    #[element(namespace = "http://www.w3.org/2000/svg")]
1150    feComposite {}
1151
1152    /// Build a
1153    /// [`<feConvolveMatrix>`](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feConvolveMatrix)
1154    /// element.
1155    #[element(namespace = "http://www.w3.org/2000/svg")]
1156    feConvolveMatrix {}
1157
1158    /// Build a
1159    /// [`<feDiffuseLighting>`](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feDiffuseLighting)
1160    /// element.
1161    #[element(namespace = "http://www.w3.org/2000/svg")]
1162    feDiffuseLighting {}
1163
1164    /// Build a
1165    /// [`<feDisplacementMap>`](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feDisplacementMap)
1166    /// element.
1167    #[element(namespace = "http://www.w3.org/2000/svg")]
1168    feDisplacementMap {}
1169
1170    /// Build a
1171    /// [`<feDistantLight>`](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feDistantLight)
1172    /// element.
1173    #[element(namespace = "http://www.w3.org/2000/svg")]
1174    feDistantLight {}
1175
1176    /// Build a
1177    /// [`<feDropShadow>`](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feDropShadow)
1178    /// element.
1179    #[element(namespace = "http://www.w3.org/2000/svg")]
1180    feDropShadow {}
1181
1182    /// Build a
1183    /// [`<feFlood>`](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feFlood)
1184    /// element.
1185    #[element(namespace = "http://www.w3.org/2000/svg")]
1186    feFlood {}
1187
1188    /// Build a
1189    /// [`<feFuncA>`](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feFuncA)
1190    /// element.
1191    #[element(namespace = "http://www.w3.org/2000/svg")]
1192    feFuncA {}
1193
1194    /// Build a
1195    /// [`<feFuncB>`](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feFuncB)
1196    /// element.
1197    #[element(namespace = "http://www.w3.org/2000/svg")]
1198    feFuncB {}
1199
1200    /// Build a
1201    /// [`<feFuncG>`](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feFuncG)
1202    /// element.
1203    #[element(namespace = "http://www.w3.org/2000/svg")]
1204    feFuncG {}
1205
1206    /// Build a
1207    /// [`<feFuncR>`](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feFuncR)
1208    /// element.
1209    #[element(namespace = "http://www.w3.org/2000/svg")]
1210    feFuncR {}
1211
1212    /// Build a
1213    /// [`<feGaussianBlur>`](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feGaussianBlur)
1214    /// element.
1215    #[element(namespace = "http://www.w3.org/2000/svg")]
1216    feGaussianBlur {}
1217
1218    /// Build a
1219    /// [`<feImage>`](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feImage)
1220    /// element.
1221    #[element(namespace = "http://www.w3.org/2000/svg")]
1222    feImage {}
1223
1224    /// Build a
1225    /// [`<feMerge>`](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feMerge)
1226    /// element.
1227    #[element(namespace = "http://www.w3.org/2000/svg")]
1228    feMerge {}
1229
1230    /// Build a
1231    /// [`<feMergeNode>`](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feMergeNode)
1232    /// element.
1233    #[element(namespace = "http://www.w3.org/2000/svg")]
1234    feMergeNode {}
1235
1236    /// Build a
1237    /// [`<feMorphology>`](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feMorphology)
1238    /// element.
1239    #[element(namespace = "http://www.w3.org/2000/svg")]
1240    feMorphology {}
1241
1242    /// Build a
1243    /// [`<feOffset>`](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feOffset)
1244    /// element.
1245    #[element(namespace = "http://www.w3.org/2000/svg")]
1246    feOffset {}
1247
1248    /// Build a
1249    /// [`<fePointLight>`](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/fePointLight)
1250    /// element.
1251    #[element(namespace = "http://www.w3.org/2000/svg")]
1252    fePointLight {}
1253
1254    /// Build a
1255    /// [`<feSpecularLighting>`](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feSpecularLighting)
1256    /// element.
1257    #[element(namespace = "http://www.w3.org/2000/svg")]
1258    feSpecularLighting {}
1259
1260    /// Build a
1261    /// [`<feSpotLight>`](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feSpotLight)
1262    /// element.
1263    #[element(namespace = "http://www.w3.org/2000/svg")]
1264    feSpotLight {}
1265
1266    /// Build a
1267    /// [`<feTile>`](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feTile)
1268    /// element.
1269    #[element(namespace = "http://www.w3.org/2000/svg")]
1270    feTile {}
1271
1272    /// Build a
1273    /// [`<feTurbulence>`](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feTurbulence)
1274    /// element.
1275    #[element(namespace = "http://www.w3.org/2000/svg")]
1276    feTurbulence {}
1277
1278    /// Build a
1279    /// [`<filter>`](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/filter)
1280    /// element.
1281    #[element(namespace = "http://www.w3.org/2000/svg")]
1282    filter {}
1283
1284    /// Build a
1285    /// [`<foreignObject>`](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/foreignObject)
1286    /// element.
1287    #[element(namespace = "http://www.w3.org/2000/svg")]
1288    foreignObject {}
1289
1290    /// Build a
1291    /// [`<g>`](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/g)
1292    /// element.
1293    #[element(namespace = "http://www.w3.org/2000/svg")]
1294    g {}
1295
1296    /// Build a
1297    /// [`<hatch>`](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/hatch)
1298    /// element.
1299    #[element(namespace = "http://www.w3.org/2000/svg")]
1300    hatch {}
1301
1302    /// Build a
1303    /// [`<hatchpath>`](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/hatchpath)
1304    /// element.
1305    #[element(namespace = "http://www.w3.org/2000/svg")]
1306    hatchpath {}
1307
1308    /// Build a
1309    /// [`<image>`](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/image)
1310    /// element.
1311    #[element(namespace = "http://www.w3.org/2000/svg")]
1312    image {}
1313
1314    /// Build a
1315    /// [`<line>`](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/line)
1316    /// element.
1317    #[element(namespace = "http://www.w3.org/2000/svg")]
1318    line {}
1319
1320    /// Build a
1321    /// [`<linearGradient>`](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/linearGradient)
1322    /// element.
1323    #[element(namespace = "http://www.w3.org/2000/svg")]
1324    linearGradient {}
1325
1326    /// Build a
1327    /// [`<marker>`](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/marker)
1328    /// element.
1329    #[element(namespace = "http://www.w3.org/2000/svg")]
1330    marker {}
1331
1332    /// Build a
1333    /// [`<mask>`](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/mask)
1334    /// element.
1335    #[element(namespace = "http://www.w3.org/2000/svg")]
1336    mask {}
1337
1338    /// Build a
1339    /// [`<metadata>`](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/metadata)
1340    /// element.
1341    #[element(namespace = "http://www.w3.org/2000/svg")]
1342    metadata {}
1343
1344    /// Build a
1345    /// [`<mpath>`](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/mpath)
1346    /// element.
1347    #[element(namespace = "http://www.w3.org/2000/svg")]
1348    mpath {}
1349
1350    /// Build a
1351    /// [`<path>`](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/path)
1352    /// element.
1353    #[element(namespace = "http://www.w3.org/2000/svg")]
1354    path {}
1355
1356    /// Build a
1357    /// [`<pattern>`](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/pattern)
1358    /// element.
1359    #[element(namespace = "http://www.w3.org/2000/svg")]
1360    pattern {}
1361
1362    /// Build a
1363    /// [`<polygon>`](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/polygon)
1364    /// element.
1365    #[element(namespace = "http://www.w3.org/2000/svg")]
1366    polygon {}
1367
1368    /// Build a
1369    /// [`<polyline>`](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/polyline)
1370    /// element.
1371    #[element(namespace = "http://www.w3.org/2000/svg")]
1372    polyline {}
1373
1374    /// Build a
1375    /// [`<radialGradient>`](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/radialGradient)
1376    /// element.
1377    #[element(namespace = "http://www.w3.org/2000/svg")]
1378    radialGradient {}
1379
1380    /// Build a
1381    /// [`<rect>`](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/rect)
1382    /// element.
1383    #[element(namespace = "http://www.w3.org/2000/svg")]
1384    rect {}
1385
1386    // /// Build a
1387    // /// [`<script>`](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/script)
1388    // /// element.
1389    // #[element(namespace = "http://www.w3.org/2000/svg")]
1390    // script {}
1391
1392    /// Build a
1393    /// [`<set>`](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/set)
1394    /// element.
1395    #[element(namespace = "http://www.w3.org/2000/svg")]
1396    set {}
1397
1398    /// Build a
1399    /// [`<stop>`](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/stop)
1400    /// element.
1401    #[element(namespace = "http://www.w3.org/2000/svg")]
1402    stop {}
1403
1404    // /// Build a
1405    // /// [`<style>`](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/style)
1406    // /// element.
1407    // #[element(namespace = "http://www.w3.org/2000/svg")]
1408    // style {}
1409
1410    // /// Build a
1411    // /// [`<svg>`](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/svg)
1412    // /// element.
1413    // #[element(namespace = "http://www.w3.org/2000/svg")]
1414    // svg {}
1415
1416    /// Build a
1417    /// [`<switch>`](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/switch)
1418    /// element.
1419    #[element(namespace = "http://www.w3.org/2000/svg")]
1420    switch {}
1421
1422    /// Build a
1423    /// [`<symbol>`](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/symbol)
1424    /// element.
1425    #[element(namespace = "http://www.w3.org/2000/svg")]
1426    symbol {}
1427
1428    /// Build a
1429    /// [`<text>`](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/text)
1430    /// element.
1431    #[element(namespace = "http://www.w3.org/2000/svg")]
1432    text {}
1433
1434    /// Build a
1435    /// [`<textPath>`](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/textPath)
1436    /// element.
1437    #[element(namespace = "http://www.w3.org/2000/svg")]
1438    textPath {}
1439
1440    // /// Build a
1441    // /// [`<title>`](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/title)
1442    // /// element.
1443    // #[element(namespace = "http://www.w3.org/2000/svg")]
1444    // title {}
1445
1446    /// Build a
1447    /// [`<tspan>`](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/tspan)
1448    /// element.
1449    #[element(namespace = "http://www.w3.org/2000/svg")]
1450    tspan {}
1451
1452    /// Build a
1453    /// [`<view>`](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/view)
1454    /// element.
1455    #[element(namespace = "http://www.w3.org/2000/svg")]
1456    view {}
1457
1458    // /// Build a
1459    // /// [`<use>`](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/use)
1460    // /// element.
1461    #[element(name = "use", namespace = "http://www.w3.org/2000/svg")]
1462    r#use {
1463        href,
1464    }
1465
1466    // MathML elements
1467
1468    /// Build a
1469    /// [`<annotation>`](https://w3c.github.io/mathml-core/#dfn-annotation)
1470    /// element.
1471    #[element(namespace = "http://www.w3.org/1998/Math/MathML")]
1472    annotation {
1473            encoding,
1474    }
1475
1476    /// Build a
1477    /// [`<annotation-xml>`](https://w3c.github.io/mathml-core/#dfn-annotation-xml)
1478    /// element.
1479    #[element(name = "annotation-xml", namespace = "http://www.w3.org/1998/Math/MathML")]
1480    annotationXml {
1481            encoding,
1482    }
1483
1484    /// Build a
1485    /// [`<merror>`](https://developer.mozilla.org/en-US/docs/Web/MathML/Element/merror)
1486    /// element.
1487    #[element(namespace = "http://www.w3.org/1998/Math/MathML")]
1488    merror {}
1489
1490    /// Build a
1491    /// [`<math>`](https://developer.mozilla.org/en-US/docs/Web/MathML/Element/math)
1492    /// element.
1493    #[element(namespace = "http://www.w3.org/1998/Math/MathML")]
1494    math {
1495        display,
1496    }
1497
1498    /// Build a
1499    /// [`<mfrac>`](https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mfrac)
1500    /// element.
1501    #[element(namespace = "http://www.w3.org/1998/Math/MathML")]
1502    mfrac {
1503        linethickness,
1504    }
1505
1506    /// Build a
1507    /// [`<mi>`](https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mi)
1508    /// element.
1509    #[element(namespace = "http://www.w3.org/1998/Math/MathML")]
1510    mi {
1511        mathvariant,
1512    }
1513
1514    /// Build a
1515    /// [`<mmultiscripts>`](https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mmultiscripts)
1516    /// element.
1517    #[element(namespace = "http://www.w3.org/1998/Math/MathML")]
1518    mmultiscripts {}
1519
1520    /// Build a
1521    /// [`<mn>`](https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mn)
1522    /// element.
1523    #[element(namespace = "http://www.w3.org/1998/Math/MathML")]
1524    mn {}
1525
1526    /// Build a
1527    /// [`<mo>`](https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mo)
1528    /// element.
1529    #[element(namespace = "http://www.w3.org/1998/Math/MathML")]
1530    mo {
1531        fence,
1532        largeop,
1533        lspace,
1534        maxsize,
1535        minsize,
1536        movablelimits,
1537        rspace,
1538        separator,
1539        stretchy,
1540        symmetric,
1541    }
1542
1543    /// Build a
1544    /// [`<mover>`](https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mover)
1545    /// element.
1546    #[element(namespace = "http://www.w3.org/1998/Math/MathML")]
1547    mover {
1548        accent,
1549    }
1550
1551    /// Build a
1552    /// [`<mpadded>`](https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mpadded)
1553    /// element.
1554    #[element(namespace = "http://www.w3.org/1998/Math/MathML")]
1555    mpadded {
1556        depth,
1557        height,
1558        lspace,
1559        voffset,
1560        width,
1561    }
1562
1563    /// Build a
1564    /// [`<mphantom>`](https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mphantom)
1565    /// element.
1566    #[element(namespace = "http://www.w3.org/1998/Math/MathML")]
1567    mphantom {}
1568
1569    /// Build a
1570    /// [`<mprescripts>`](https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mprescripts)
1571    /// element.
1572    #[element(namespace = "http://www.w3.org/1998/Math/MathML")]
1573    mprescripts {}
1574
1575    /// Build a
1576    /// [`<mroot>`](https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mroot)
1577    /// element.
1578    #[element(namespace = "http://www.w3.org/1998/Math/MathML")]
1579    mroot {}
1580
1581    /// Build a
1582    /// [`<mrow>`](https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mrow)
1583    /// element.
1584    #[element(namespace = "http://www.w3.org/1998/Math/MathML")]
1585    mrow {
1586
1587    }
1588
1589    /// Build a
1590    /// [`<ms>`](https://developer.mozilla.org/en-US/docs/Web/MathML/Element/ms)
1591    /// element.
1592    #[element(namespace = "http://www.w3.org/1998/Math/MathML")]
1593    ms {
1594        lquote,
1595        rquote,
1596    }
1597
1598    /// Build a
1599    /// [`<mspace>`](https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mspace)
1600    /// element.
1601    #[element(namespace = "http://www.w3.org/1998/Math/MathML")]
1602    mspace {
1603        depth,
1604        height,
1605        width,
1606    }
1607
1608    /// Build a
1609    /// [`<msqrt>`](https://developer.mozilla.org/en-US/docs/Web/MathML/Element/msqrt)
1610    /// element.
1611    #[element(namespace = "http://www.w3.org/1998/Math/MathML")]
1612    msqrt {}
1613
1614    /// Build a
1615    /// [`<mstyle>`](https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mstyle)
1616    /// element.
1617    #[element(namespace = "http://www.w3.org/1998/Math/MathML")]
1618    mstyle {}
1619
1620    /// Build a
1621    /// [`<msub>`](https://developer.mozilla.org/en-US/docs/Web/MathML/Element/msub)
1622    /// element.
1623    #[element(namespace = "http://www.w3.org/1998/Math/MathML")]
1624    msub {}
1625
1626    /// Build a
1627    /// [`<msubsup>`](https://developer.mozilla.org/en-US/docs/Web/MathML/Element/msubsup)
1628    /// element.
1629    #[element(namespace = "http://www.w3.org/1998/Math/MathML")]
1630    msubsup {}
1631
1632    /// Build a
1633    /// [`<msup>`](https://developer.mozilla.org/en-US/docs/Web/MathML/Element/msup)
1634    /// element.
1635    #[element(namespace = "http://www.w3.org/1998/Math/MathML")]
1636    msup {}
1637
1638    /// Build a
1639    /// [`<mtable>`](https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtable)
1640    /// element.
1641    #[element(namespace = "http://www.w3.org/1998/Math/MathML")]
1642    mtable {}
1643
1644    /// Build a
1645    /// [`<mtd>`](https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtd)
1646    /// element.
1647    #[element(namespace = "http://www.w3.org/1998/Math/MathML")]
1648    mtd {
1649        columnspan,
1650        rowspan,
1651    }
1652
1653    /// Build a
1654    /// [`<mtext>`](https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtext)
1655    /// element.
1656    #[element(namespace = "http://www.w3.org/1998/Math/MathML")]
1657    mtext {}
1658
1659    /// Build a
1660    /// [`<mtr>`](https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtr)
1661    /// element.
1662    #[element(namespace = "http://www.w3.org/1998/Math/MathML")]
1663    mtr {}
1664
1665    /// Build a
1666    /// [`<munder>`](https://developer.mozilla.org/en-US/docs/Web/MathML/Element/munder)
1667    /// element.
1668    #[element(namespace = "http://www.w3.org/1998/Math/MathML")]
1669    munder {
1670        accentunder,
1671    }
1672
1673    /// Build a
1674    /// [`<munderover>`](https://developer.mozilla.org/en-US/docs/Web/MathML/Element/munderover)
1675    /// element.
1676    #[element(namespace = "http://www.w3.org/1998/Math/MathML")]
1677    munderover {
1678        accent,
1679        accentunder,
1680    }
1681
1682    /// Build a
1683    /// [`<semantics>`](https://developer.mozilla.org/en-US/docs/Web/MathML/Element/semantics)
1684    /// element.
1685    #[element(namespace = "http://www.w3.org/1998/Math/MathML")]
1686    semantics {
1687        encoding,
1688    }
1689}