hasAttribute('lang')) { return null; } $lang = trim($element->getAttribute('lang')); // Simple IETF language tag format check (e.g. "en", "tr", "en-US", "zh-Hant") $isValid = preg_match('/^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$/', $lang); if (!$isValid || $lang === '') { return $this->createViolation( $element, $this->getDescription(), 'Use a valid IETF language code format for the lang attribute (e.g., "tr", "en", "en-US").' ); } return null; } }