20
20
using System . Diagnostics ;
21
21
using System . Linq ;
22
22
23
- namespace UITests
23
+ namespace UITests ;
24
+
25
+ public class AxeHelper
24
26
{
25
- public class AxeHelper
27
+ public static IScanner AccessibilityScanner ;
28
+
29
+ internal static void InitializeAxe ( )
26
30
{
27
- public static IScanner AccessibilityScanner ;
31
+ var processes = Process . GetProcessesByName ( "WinUIGallery" ) ;
32
+ Assert . IsTrue ( processes . Length > 0 ) ;
28
33
29
- internal static void InitializeAxe ( )
30
- {
31
- var processes = Process . GetProcessesByName ( "WinUIGallery" ) ;
32
- Assert . IsTrue ( processes . Length > 0 ) ;
34
+ var config = Config . Builder . ForProcessId ( processes [ 0 ] . Id ) . Build ( ) ;
33
35
34
- var config = Config . Builder . ForProcessId ( processes [ 0 ] . Id ) . Build ( ) ;
36
+ AccessibilityScanner = ScannerFactory . CreateScanner ( config ) ;
37
+ }
35
38
36
- AccessibilityScanner = ScannerFactory . CreateScanner ( config ) ;
37
- }
39
+ public static void AssertNoAccessibilityErrors ( )
40
+ {
41
+ // Bug 1474: Disabling Rules NameReasonableLength and BoundingRectangleNotNull temporarily
42
+ var testResult = AccessibilityScanner . Scan ( null ) . WindowScanOutputs . SelectMany ( output => output . Errors )
43
+ . Where ( rule => rule . Rule . ID != RuleId . NameIsInformative )
44
+ . Where ( rule => rule . Rule . ID != RuleId . NameExcludesControlType )
45
+ . Where ( rule => rule . Rule . ID != RuleId . NameExcludesLocalizedControlType )
46
+ . Where ( rule => rule . Rule . ID != RuleId . SiblingUniqueAndFocusable )
47
+ . Where ( rule => rule . Rule . ID != RuleId . NameReasonableLength )
48
+ . Where ( rule => rule . Rule . ID != RuleId . BoundingRectangleNotNull )
49
+ . Where ( rule => rule . Rule . ID != RuleId . BoundingRectangleNotNullListViewXAML )
50
+ . Where ( rule => rule . Rule . ID != RuleId . BoundingRectangleNotNullTextBlockXAML )
51
+ . Where ( rule => rule . Rule . ID != RuleId . NameNotNull )
52
+ . Where ( rule => rule . Rule . ID != RuleId . ChromiumComponentsShouldUseWebScanner ) ;
38
53
39
- public static void AssertNoAccessibilityErrors ( )
54
+ if ( testResult . Any ( ) )
40
55
{
41
- // Bug 1474: Disabling Rules NameReasonableLength and BoundingRectangleNotNull temporarily
42
- var testResult = AccessibilityScanner . Scan ( null ) . WindowScanOutputs . SelectMany ( output => output . Errors )
43
- . Where ( rule => rule . Rule . ID != RuleId . NameIsInformative )
44
- . Where ( rule => rule . Rule . ID != RuleId . NameExcludesControlType )
45
- . Where ( rule => rule . Rule . ID != RuleId . NameExcludesLocalizedControlType )
46
- . Where ( rule => rule . Rule . ID != RuleId . SiblingUniqueAndFocusable )
47
- . Where ( rule => rule . Rule . ID != RuleId . NameReasonableLength )
48
- . Where ( rule => rule . Rule . ID != RuleId . BoundingRectangleNotNull )
49
- . Where ( rule => rule . Rule . ID != RuleId . BoundingRectangleNotNullListViewXAML )
50
- . Where ( rule => rule . Rule . ID != RuleId . BoundingRectangleNotNullTextBlockXAML )
51
- . Where ( rule => rule . Rule . ID != RuleId . NameNotNull )
52
- . Where ( rule => rule . Rule . ID != RuleId . ChromiumComponentsShouldUseWebScanner ) ;
53
-
54
- if ( testResult . Any ( ) )
55
- {
56
- var mappedResult = testResult . Select ( result =>
57
- "Element " + result . Element . Properties [ "ControlType" ] + " violated rule '" + result . Rule . Description + "'." ) ;
58
- Assert . Fail ( "Failed with the following accessibility errors \r \n " + string . Join ( "\r \n " , mappedResult ) ) ;
59
- }
56
+ var mappedResult = testResult . Select ( result =>
57
+ "Element " + result . Element . Properties [ "ControlType" ] + " violated rule '" + result . Rule . Description + "'." ) ;
58
+ Assert . Fail ( "Failed with the following accessibility errors \r \n " + string . Join ( "\r \n " , mappedResult ) ) ;
60
59
}
61
60
}
62
- }
61
+ }
0 commit comments