···6677let default () =
88 let reg = create () in
99- (* Register built-in checkers that align with Nu validator behavior.
1010- Some checkers are disabled because they produce messages that don't
1111- match Nu validator's expected output or have too many false positives:
1212- - content: has bugs with phrasing content text detection
1313- - heading: generates warnings Nu validator doesn't produce
1414- - language: generates warnings Nu validator doesn't produce
1515- - microdata: Nu validator has different microdata rules
1616- - table: produces different messages than Nu validator
1717- *)
189 Hashtbl.replace reg "nesting" Nesting_checker.checker;
1910 Hashtbl.replace reg "obsolete" Obsolete_checker.checker;
2011 Hashtbl.replace reg "id" Id_checker.checker;
···4536 Hashtbl.replace reg "xhtml-content" Xhtml_content_checker.checker;
4637 Hashtbl.replace reg "lang-detecting" Lang_detecting_checker.checker;
4738 Hashtbl.replace reg "unknown-element" Unknown_element_checker.checker;
4848- (* Hashtbl.replace reg "heading" Heading_checker.checker; *)
4949- (* Hashtbl.replace reg "content" Content_checker.checker; *)
5039 reg
51405241let register registry name checker = Hashtbl.replace registry name checker
-20
lib/html5_checker/specialized/aria_checker.ml
···159159 Hashtbl.add tbl "ul" "list";
160160 tbl
161161162162-(** Map from HTML element name to multiple possible implicit roles.
163163-164164- Some elements like 'th' can have different implicit roles depending
165165- on context (columnheader or rowheader). *)
166166-let elements_with_implicit_roles : (string, string array) Hashtbl.t =
167167- let tbl = Hashtbl.create 4 in
168168- Hashtbl.add tbl "th" [| "columnheader"; "rowheader" |];
169169- tbl
170170-171162(** Map from input type to implicit ARIA role. *)
172163let input_types_with_implicit_role : (string, string) Hashtbl.t =
173164 let tbl = Hashtbl.create 8 in
···355346 end
356347 else
357348 Hashtbl.find_opt elements_with_implicit_role element_name
358358-359359-(** Get all possible implicit roles for an element (for elements like 'th').
360360-361361- Note: This function is not currently used but is provided for completeness. *)
362362-let _get_implicit_roles element_name =
363363- match Hashtbl.find_opt elements_with_implicit_roles element_name with
364364- | Some roles -> Array.to_list roles
365365- | None ->
366366- match get_implicit_role element_name [] with
367367- | Some role -> [role]
368368- | None -> []
369349370350(** Stack node representing an element in the ancestor chain. *)
371351type stack_node = {