When you say "modify a table" do you mean insert,update, delete data? If so:
1. create role READONLY;
2. grant select any table to READONLY;
3. grant READONLY to userA;

If you mean don't let the users modify the structure of the table, but allow them to change any of the data then:
1. create role USE_ALL_TABLES;
2. grant select any table to USE_ALL_TABLES;
3. grant insert any table to USE_ALL_TABLES;
4. grant delete any table to USE_ALL_TABLES;
5. grant update any table to USE_ALL_TABLES;
6. grant USE_ALL_TABLES to userA;