refactoring internal logic, adding shadowRoot to accessibility
more logic refactoring, adding accessibility documentation