This note is language lawyering at its best!
While defining its equivalent rule (§6.5/7 in C99), C bundles in aggregates and union types when describing the valid aliasing possibilities.
C++ doesn't do that. With constructors, conversion operators and inheritance thrown into the mix, classes can be lot more complex than any compound types found in C, so C++ throws up its arms and says, look, we're not going to deal with any of that here.
Instead, "accesses" described by these rules come down to built-in types only. And that's fine, because every compound type is, ultimately, made up of objects of built-in types.
What constitutes valid conversions and reinterpretations of complex types is covered by different rules elsewhere.
This note simply points that out.
The same is described in slightly more detail in the standard's glossary:
[defns.access]: [..] [Note 1: Only objects of scalar type can be accessed. Reads of scalar objects are described in [conv.lval] and modifications of scalar objects are describred in [expr.ass], [expr.post.incr], and [expr.pre.incr]. Attempts to read or modify an object of class type typically invoke a constructor or assignment operator; such invocations do not themselves constitute accesses, although they may involve accesses of scalar subobjects. — end note]
Ultimately, we don't really need to worry about it.