I've made a custom list view and restricted its visibility by role, what happen is that the list view is visible for the specified role and all its upper parents in the roles' tree . Is it a standard behavior? in case it is, is there a way to avoid it ?
When roles are enabled this would be the expected behavior. If this is a custom object, you can deselect the "Grant Access Using Hierarchies" checkbox to disable roles above from having visibility of an owner's records. Otherwise, you're going to need to use a Private sharing model along with sharing groups.
Yes, this is standard behaviour. The reason is that ListView is also an Object and one specific List View is record. If this list view is shared with Role, it will be automatically shared based on princip "Grant Access Using Hierarchies"
For list View it is not possible to control if they will be shared using Role hierarchy.