Confusion1
==========
Doesn't this mean 'A' OWNS GiveAccess role?
No, it means A has the rights to *give* the role to others, but not the role itself. No-one "owns" the role, which is why you won't see it in DBA_OBJECTS (or any other dictionary view that has an "OWNER" column)
Confusion 2
=============
Let's give it a go and see what happens!
SQL> create user X identified by X;
User created.
SQL> create user Y identified by Y;
User created.
SQL>
SQL> grant resource, connect, create public synonym to X;
Grant succeeded.
SQL> grant resource, connect, create public synonym to Y;
Grant succeeded.
SQL> alter user X quota 100m on users;
User altered.
SQL> alter user Y quota 100m on users;
User altered.
SQL>
SQL> conn X/X@&db
Connected.
SQL> create table emp (id number, name varchar2(20));
Table created.
SQL> insert into emp values (1,'x emp');
1 row created.
SQL>
SQL> create table dept (dept_id number, dept_name varchar2(20));
Table created.
SQL> insert into dept values (2,'x dept');
1 row created.
SQL>
SQL> create public synonym emp for dept;
Synonym created.
SQL> grant select on emp to Y;
Grant succeeded.
SQL> grant select on dept to Y;
Grant succeeded.
SQL>
SQL> conn Y/Y@&db
Connected.
SQL> create table emp (emp_id number, nm varchar2(100), salaray number);
Table created.
SQL> insert into emp values (3,'y emp',0);
1 row created.
SQL> select * from emp;
EMP_ID NM SALARAY
---------- -------------------- ----------
3 y emp 0
1 row selected.
SQL> select * from X.emp;
ID NAME
---------- --------------------
1 x emp
1 row selected.
SQL>
So you can see what is happening. We resolve objects from the "inside" to "outside"
So if I am in schema "S" looking for object "O", I first look for something called "S"."O". That might be a real object or a synonym pointing somewhere else.
If there is no "S"."O", then I'll look for "PUBLIC"."O" (public synonyms are synonyms under a special account called "PUBLIC"). That synonyms "O" can point to (say) a different schema, and even point to another synonym etc etc etc...we'll just keep following the chain.
(Synonyms do not give you *access* to anything - it just lets you *reference* things via a different name)