If you are using an
input
image button, use itsalt
attribute:<input type="image" src="account-icon.png" alt="Your account">
If you are using a
button
withimg
, useimg
’salt
attribute:<button type="button"><img src="account-icon.png" alt="Your account"></button>
If you are using an
a
withimg
, useimg
’salt
attribute:<a href="/account.html"><img src="account-icon.png" alt="Your account"></a>
If you are adding the icon via CSS (instead of HTML), you should include a text label in the HTML and visually hide it with CSS.
For usability, you might consider using both, an icon and text. But this might be discussed at User Experience SE. See, for example, the question "When to use icons vs. icons with text vs. just text links?".
For deciding which alt
text to use, see my answer to the question "What should the ALT text be for an image that is also a link?". You should not use the title
attribute for specifying the alternative text.