|
101 | 101 | * |
102 | 102 | * - Containers: ADDRESS, BLOCKQUOTE, DETAILS, DIALOG, DIV, FOOTER, HEADER, MAIN, MENU, SPAN, SUMMARY. |
103 | 103 | * - Custom elements: All custom elements are supported. :) |
104 | | - * - Form elements: BUTTON, DATALIST, FIELDSET, LABEL, LEGEND, METER, PROGRESS, SEARCH. |
| 104 | + * - Form elements: BUTTON, DATALIST, FIELDSET, INPUT, LABEL, LEGEND, METER, PROGRESS, SEARCH. |
105 | 105 | * - Formatting elements: B, BIG, CODE, EM, FONT, I, PRE, SMALL, STRIKE, STRONG, TT, U, WBR. |
106 | 106 | * - Heading elements: H1, H2, H3, H4, H5, H6, HGROUP. |
107 | 107 | * - Links: A. |
108 | | - * - Lists: DD, DL, DT, LI, OL, LI. |
109 | | - * - Media elements: AUDIO, CANVAS, EMBED, FIGCAPTION, FIGURE, IMG, MAP, PARAM, PICTURE, SOURCE, VIDEO, TRACK. |
| 108 | + * - Lists: DD, DL, DT, LI, OL, UL. |
| 109 | + * - Media elements: AUDIO, CANVAS, EMBED, FIGCAPTION, FIGURE, IMG, MAP, PICTURE, SOURCE, TRACK, VIDEO. |
110 | 110 | * - Paragraph: BR, P. |
111 | | - * - Phrasing elements: AREA, ABBR, BDI, BDO, CITE, DATA, DEL, DFN, INS, MARK, OUTPUT, Q, SAMP, SUB, SUP, TIME, VAR. |
| 111 | + * - Phrasing elements: ABBR, AREA, BDI, BDO, CITE, DATA, DEL, DFN, INS, MARK, OUTPUT, Q, SAMP, SUB, SUP, TIME, VAR. |
112 | 112 | * - Sectioning elements: ARTICLE, ASIDE, HR, NAV, SECTION. |
113 | 113 | * - Templating elements: SLOT. |
114 | 114 | * - Text decoration: RUBY. |
115 | | - * - Deprecated elements: ACRONYM, BLINK, CENTER, DIR, ISINDEX, KEYGEN, LISTING, MULTICOL, NEXTID, SPACER. |
| 115 | + * - Deprecated elements: ACRONYM, BLINK, CENTER, DIR, ISINDEX, KEYGEN, LISTING, MULTICOL, NEXTID, PARAM, SPACER. |
116 | 116 | * |
117 | 117 | * ### Supported markup |
118 | 118 | * |
@@ -972,6 +972,23 @@ private function step_in_body() { |
972 | 972 | $this->state->frameset_ok = false; |
973 | 973 | return true; |
974 | 974 |
|
| 975 | + /* |
| 976 | + * > A start tag whose tag name is "input" |
| 977 | + */ |
| 978 | + case '+INPUT': |
| 979 | + $this->reconstruct_active_formatting_elements(); |
| 980 | + $this->insert_html_element( $this->state->current_token ); |
| 981 | + $type_attribute = $this->get_attribute( 'type' ); |
| 982 | + /* |
| 983 | + * > If the token does not have an attribute with the name "type", or if it does, |
| 984 | + * > but that attribute's value is not an ASCII case-insensitive match for the |
| 985 | + * > string "hidden", then: set the frameset-ok flag to "not ok". |
| 986 | + */ |
| 987 | + if ( ! is_string( $type_attribute ) || 'hidden' !== strtolower( $type_attribute ) ) { |
| 988 | + $this->state->frameset_ok = false; |
| 989 | + } |
| 990 | + return true; |
| 991 | + |
975 | 992 | /* |
976 | 993 | * > A start tag whose tag name is "hr" |
977 | 994 | */ |
@@ -1024,7 +1041,6 @@ private function step_in_body() { |
1024 | 1041 | case 'HEAD': |
1025 | 1042 | case 'HTML': |
1026 | 1043 | case 'IFRAME': |
1027 | | - case 'INPUT': |
1028 | 1044 | case 'LINK': |
1029 | 1045 | case 'MARQUEE': |
1030 | 1046 | case 'MATH': |
|
0 commit comments