the `< 0` check should be before `_should_scroll`