addRule(new LabelInName()); $html = ''; $violations = $scanner->scan($html); $this->assertCount(1, $violations); $this->assertSame('WCAG_2_5_3_LABEL_IN_NAME', $violations[0]->ruleId); $this->assertStringContainsString('Submit', $violations[0]->message); } public function testPassesButtonWhoseAriaLabelContainsVisibleText(): void { $scanner = new Scanner(); $scanner->addRule(new LabelInName()); $html = ''; $violations = $scanner->scan($html); $this->assertCount(0, $violations); } public function testPassesButtonWithoutExplicitAriaLabel(): void { $scanner = new Scanner(); $scanner->addRule(new LabelInName()); $html = ''; $violations = $scanner->scan($html); $this->assertCount(0, $violations); } public function testFlagsLinkWhoseAriaLabelDiffersFromVisibleText(): void { $scanner = new Scanner(); $scanner->addRule(new LabelInName()); $html = 'Contact Us'; $violations = $scanner->scan($html); $this->assertCount(1, $violations); } }