tagName) !== 'form') { return null; } $hasSubmit = false; $buttons = $element->getElementsByTagName('button'); foreach ($buttons as $btn) { $type = strtolower($btn->getAttribute('type') ?: 'submit'); if ($type === 'submit') { $hasSubmit = true; break; } } if (!$hasSubmit) { $inputs = $element->getElementsByTagName('input'); foreach ($inputs as $input) { $type = strtolower($input->getAttribute('type')); if ($type === 'submit' || $type === 'image') { $hasSubmit = true; break; } } } if (!$hasSubmit) { return $this->createViolation( $element, $this->getDescription(), 'Add a submit control, such as a