Using types in selectors reduces the flexibility and narrows the applicability of CSS styles. Classes should be preferred as they improve the understandability by giving elements a context-specific name. For example:

    .myBox span {
      color: black;
    }

This styling can only be applied to a limited subset of all containers with the .someThing class. Furthermore the reader cannot identify what the span actually represents. An alternative using a class instead of a type does not have this issue:

    .myBox .headline {
      color: black;
    }

The intent is clear and the contextual understandability improved dramatically.

## Noncompliant Code Example

    span {
      display: block;
    }

    .mybox div {
      color: red;
    }

You can exclude certain types via the configuration of this rule as e.g. the anchor type is a valid exception from this rule as it should always denote a link of some sort.