Use buttons where possible for accessibility

Also added a proper focus state to buttons for better visual feedback