Have you given the user any other roles at all or just the new roles?
In order to give the user basic access to Sitecore you will usually need to give them the Sitecore Client Authoring & Sitecore Client Users roles too.
There is more info on OOTB roles and what they do here:
https://doc.sitecore.net/sitecore_experience_platform/setting_up_and_maintaining/security_and_administration/users_roles_and_domains/the_security_roles
Also I'd recommend using the Access Viewer to check the access of your role once you have set it up:

There is more info on how to use this here:
https://doc.sitecore.net/sitecore_experience_platform/setting_up_and_maintaining/security_and_administration/access_rights/view_the_access_rights_of_a_security_account
Also bear in mind inheritance and how this it is automatically applied to child items, from the link below:
By default, an item inherits the access rights that are assigned to
the items that are higher up the content tree (the ancestors). For
example, a security administrator can configure the security settings
of a single item and all the items that are lower down the content
tree (the descendants) automatically inherit the same settings.
However, if there is an item that should not inherit any security
settings from its ancestors, you can use the Inheritance access right
to deny the item the right to inherit the security settings.
Depending on what permissions are being inherited you may need to break inheritance to your item to get permissions to work as you want.
More info here:
https://doc.sitecore.net/sitecore_experience_platform/setting_up_and_maintaining/security_and_administration/access_rights/the_inheritance_access_right