elements have a child element for captions/descriptions.'; } public function getStandard(): WCAGStandard { return WCAGStandard::A; } public function getSeverity(): Severity { return Severity::WARNING; } public function getLevel(): int { return 3; } public function check(DOMElement $element): ?Violation { if (strtolower($element->tagName) !== 'audio') { return null; } $doc = $element->ownerDocument; if ($doc === null) { return null; } $xpath = new DOMXPath($doc); $tracks = $xpath->query('./track', $element); if ($tracks === false || $tracks->length === 0) { return $this->createViolation( $element, '