refactor of accessibility functionality