Button with text only:
<lightning:button label="Search" onclick="{!c.doSomething}"/>
Button with icon and text:
<lightning:button label="Download" iconName="utility:download" onclick="{!c.doSomething}"/>
Button with icon only:
<lightning:buttonIcon iconName="utility:settings" alternativeText="Settings" onclick="{!c.doSomething}"/>
The alternativeText attribute provides a text label that’s hidden from view and available to assistive technology.
This example shows the HTML generated by lightning:button:
<!-- Good: using span/assistiveText to hide the label visually, but show it to screen readers --> <button> ::before <span class="slds-assistive-text">Settings</span> </button>