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

38 lines
761 B
PHP
Raw Normal View History

2026-05-13 09:10:43 +03:00
<?php
namespace YakNet\AccessibilityConsole\Core;
class Scanner
{
private RuleEngine $engine;
public function __construct(?RuleEngine $engine = null)
2026-05-13 12:13:32 +03:00
{
$this->engine = $engine ?? new RuleEngine();
2026-05-13 09:10:43 +03:00
}
2026-05-13 12:46:26 +03:00
public function addRule(mixed $rule): void
{
$this->engine->addRule($rule);
}
2026-05-13 09:10:43 +03:00
/**
2026-05-13 12:13:32 +03:00
* Scan HTML content for accessibility violations.
*
* @param string $html
2026-05-13 09:10:43 +03:00
* @return Violation[]
*/
public function scan(string $html): array
{
2026-05-13 12:13:32 +03:00
if (empty(trim($html))) {
2026-05-13 09:10:43 +03:00
return [];
}
$html5 = new \Masterminds\HTML5([
'disable_html_ns' => true,
]);
$doc = $html5->loadHTML($html);
2026-05-13 09:10:43 +03:00
2026-05-13 12:13:32 +03:00
return $this->engine->run($doc);
2026-05-13 09:10:43 +03:00
}
}