<label>tag for form inputs, and inner text for buttons.
aria-labelledbyif there is visible text onscreen that can be used to label the element (a nearby heading, for example).
aria-labelwhen there is no suitable labeling text onscreen (this issue is common with icon buttons, for example).
dialogrole informs the user that they are inside of a child window of the main page.
alertdialogto indicate modality.
<span>but retaining its default styling.