From 3f262b7b3536dbeba3df34c26d94eeb52748202e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Enes=20Yak=C4=B1=C5=9Ft=C4=B1r?= Date: Wed, 13 May 2026 12:16:37 +0300 Subject: [PATCH] Fix Violation constructor parameters and Enum usage v2.2.1 --- src/Core/AbstractRule.php | 13 +++++++------ src/Rules/EmptyLinkRule.php | 6 ++++-- src/Rules/HeadingOrderRule.php | 6 ++++-- src/Rules/ImageAltRule.php | 6 ++++-- 4 files changed, 19 insertions(+), 12 deletions(-) diff --git a/src/Core/AbstractRule.php b/src/Core/AbstractRule.php index 990cbf7..3c3e76a 100644 --- a/src/Core/AbstractRule.php +++ b/src/Core/AbstractRule.php @@ -10,22 +10,23 @@ abstract class AbstractRule abstract public function check(\DOMDocument $doc): array; /** - * Get the WCAG standard ID (e.g., WCAG 2.1 1.1.1) + * Get the WCAG standard Enum */ - abstract public function getStandardId(): string; + abstract public function getStandard(): WCAGStandard; /** - * Get the severity level (Critical, Major, Minor) + * Get the severity level Enum */ - abstract public function getSeverity(): string; + abstract public function getSeverity(): Severity; protected function createViolation(string $message, \DOMElement $element): Violation { return new Violation( + ruleId: (new \ReflectionClass($this))->getShortName(), message: $message, - htmlSnippet: $element->ownerDocument->saveHTML($element), severity: $this->getSeverity(), - standard: $this->getStandardId() + standard: $this->getStandard(), + htmlSnippet: $element->ownerDocument->saveHTML($element) ); } } diff --git a/src/Rules/EmptyLinkRule.php b/src/Rules/EmptyLinkRule.php index 78adaca..b3ff546 100644 --- a/src/Rules/EmptyLinkRule.php +++ b/src/Rules/EmptyLinkRule.php @@ -3,6 +3,8 @@ namespace YakNet\AccessibilityConsole\Rules; use YakNet\AccessibilityConsole\Core\AbstractRule; +use YakNet\AccessibilityConsole\Core\Severity; +use YakNet\AccessibilityConsole\Core\WCAGStandard; class EmptyLinkRule extends AbstractRule { @@ -22,6 +24,6 @@ class EmptyLinkRule extends AbstractRule return $violations; } - public function getStandardId(): string { return 'WCAG 2.1 2.4.4'; } - public function getSeverity(): string { return 'Critical'; } + public function getStandard(): WCAGStandard { return WCAGStandard::A; } + public function getSeverity(): Severity { return Severity::CRITICAL; } } diff --git a/src/Rules/HeadingOrderRule.php b/src/Rules/HeadingOrderRule.php index 678755c..df079f2 100644 --- a/src/Rules/HeadingOrderRule.php +++ b/src/Rules/HeadingOrderRule.php @@ -3,6 +3,8 @@ namespace YakNet\AccessibilityConsole\Rules; use YakNet\AccessibilityConsole\Core\AbstractRule; +use YakNet\AccessibilityConsole\Core\Severity; +use YakNet\AccessibilityConsole\Core\WCAGStandard; class HeadingOrderRule extends AbstractRule { @@ -26,6 +28,6 @@ class HeadingOrderRule extends AbstractRule return $violations; } - public function getStandardId(): string { return 'WCAG 2.1 1.3.1'; } - public function getSeverity(): string { return 'Major'; } + public function getStandard(): WCAGStandard { return WCAGStandard::A; } + public function getSeverity(): Severity { return Severity::WARNING; } } diff --git a/src/Rules/ImageAltRule.php b/src/Rules/ImageAltRule.php index aa4ee37..393c423 100644 --- a/src/Rules/ImageAltRule.php +++ b/src/Rules/ImageAltRule.php @@ -3,6 +3,8 @@ namespace YakNet\AccessibilityConsole\Rules; use YakNet\AccessibilityConsole\Core\AbstractRule; +use YakNet\AccessibilityConsole\Core\Severity; +use YakNet\AccessibilityConsole\Core\WCAGStandard; class ImageAltRule extends AbstractRule { @@ -22,6 +24,6 @@ class ImageAltRule extends AbstractRule return $violations; } - public function getStandardId(): string { return 'WCAG 2.1 1.1.1'; } - public function getSeverity(): string { return 'Critical'; } + public function getStandard(): WCAGStandard { return WCAGStandard::A; } + public function getSeverity(): Severity { return Severity::CRITICAL; } }