Files
accessibility-console/src/Core/AbstractRule.php
T

32 lines
802 B
PHP
Raw Normal View History

2026-05-13 12:13:32 +03:00
<?php
namespace YakNet\AccessibilityConsole\Core;
abstract class AbstractRule
{
/**
* @return Violation[]
*/
abstract public function check(\DOMDocument $doc): array;
/**
* Get the WCAG standard Enum
2026-05-13 12:13:32 +03:00
*/
abstract public function getStandard(): WCAGStandard;
2026-05-13 12:13:32 +03:00
/**
* Get the severity level Enum
2026-05-13 12:13:32 +03:00
*/
abstract public function getSeverity(): Severity;
2026-05-13 12:13:32 +03:00
protected function createViolation(string $message, \DOMElement $element): Violation
{
return new Violation(
ruleId: (new \ReflectionClass($this))->getShortName(),
2026-05-13 12:13:32 +03:00
message: $message,
severity: $this->getSeverity(),
standard: $this->getStandard(),
htmlSnippet: $element->ownerDocument->saveHTML($element)
2026-05-13 12:13:32 +03:00
);
}
}