Modify AuditRule to walk the DOM tree and collect elements, using a matcher method on each audit rule, rather than having each audit rule responsible for selecting all relevant nodes.