ARC Rules engine

ARC Rules 5.7.0

  • Updated

This release features lots of new features including:

  • Support for ARIA 1.2, ARIA DPUB roles, and ARIA Graphics roles
  • ShadowDOM support (note: that this is an experimental feature and must be enabled per-scan)
  • 12 new automated rules and updates to 7 existing automated rules
  • Use CSS selectors, instead of just XPath, for identifying targets

What's Changed

  • New: Support for ARIA 1.2
  • New: Support for Digital Publishing (DPUB) ARIA roles
  • New: Support for Graphics ARIA roles
  • New: Support for scanning the Shadow DOM
  • New: Event callback added for realtime monitoring of the rule engine
  • New: Support CSS selectors identifying targets
  • New (automated): presentationalChildrenNotFocusable identifies focusable elements found within presentational children
  • New (automated): menuitemElementHasLabel identifies menuitems with no accessible name
  • New (automated): objectHasAccessibleName identifies <object> with no accessible name
  • New (automated): pageXMLLanguageIdentical checks that lang and xml:lang attribute values match
  • New (automated): wordSpacingIsAdjustable checks that the style attribute is not used to prevent adjusting word-spacing by using !important, except if it's at least 1.5 times the font size
  • New (automated): lineHeightIsAdjustable checks that the style attribute is not used to prevent adjusting line-height by using !important, except if it's at least 1.5 times the font size
  • New (automated): letterSpacingIsAdjustable checks that the style attribute is not used to prevent adjusting letter-spacing by using !important, except if it's at least 1.5 times the font size
  • New (automated): tableCellHeadersCorrect checks the references in the headers attribute exist within current table
  • New (automated): tableHeadersMissingCell checks that each header is associated with a cell in the same table
  • New (automated): iframeNegativeTabindex checks that frames with negative tabindex contain no interactive elements
  • New (automated): scrollableElementIsKeyboardAccessible checks if a scrollable element is focusable or has a focusable child
  • New (automated): cssOrientationIsNotRestricted checks if the orientation of the page is not restricted using CSS transform property
  • New (manual): thirdPartyContent for identifying third-party applications that are barriers to accessibility
  • Change (automated): navigationLinkLabelInName support for non-textual characters
  • Change (automated): pageNotRefreshRedirect checks if refresh value <= 20 hours and if redirect is to itself or another page
  • Change (automated): colorContrast Disabled interactive form controls are not tested for contrast
  • Change (automated): ariaHiddenUsed now checks all elements in the accessibility tree; previously only non-focusable elements were checked
  • Change (automated): zoomingDisabled now only checks meta elements that include maximum-scale or user-scalable
  • Change (automated): inputButtonHasValue recategorized from an Alert to Best practice
  • Change (automated): colorContrastSVGText only test the <text> within an svg element
  • Change (manual): parsing manual rule is recategorized as a best-practice in WCAG 2.0 and WCAG 2.1
  • Change (manual): The default severity value for the manual Custom Widget rules were changed from Medium to High
  • Change (manual): uiComponentsRelationships Severity changed from Critical to High
  • Change (automated): ruleduplicateLabelIsUsed minor updates to rule description
  • Update: Logging from within frames is now more reliable
  • Fix: Rules that test attributes with multiple values (e.g. aria-describedby) now correctly test the individual values
  • Change: problematicAltText is only raised when identified words are lowercase
  • Update: Use "best-practice" category to explicitly identify best practices
  • Change: Elements with 0 width/height are now considered not visible
  • Fix: Return topic key, instead of title, on results
  • Chore: Update ACT testrunner to use latest test cases
  • Docs: Reasons why some ACT test suites and individual testcases are not passing