I would say:
a.i cannot be accessed from class B. For that, a's type reference must be B, or a subclass of B. Instead, its type reference is A.
Since the access rules are typically explained in tutorials at a fairly early learning stage, the details fade out in memory as time passes. Therefore, it pays off to refer to the language specs directly.