Lighthouse suggesting to fix my a href text
I have a html like that
<a href="https://twitter.com/@some-name-here" target="_blank" rel="noopener" class="social-icon twitter grayscale"></a>
What is really happens here is I just displaying the image inside a href by using css class:
.social-icon.twitter { background: url('../images/logo-twitter.png') no-repeat center center; }
I can't do <a....>Twitter</a>
as in that case the displayed text will destroy the view.
I can't think of anything else like just putting a span
with a text inside my a
and make it hidden e.g <a....><span class="hide">Twitter</span></a>
but wonder if there is any proper solution?
Any recommendations on that?
#Add Discernible Name to Links With Icons or Other Non-Textual Content. For non-textual content, such as the i tag (for adding icons), span , or any other tag without text content, adding the aria-label attribute to the link should be enough to make the it accessible.
You can fix this error simply by changing the words in the link or button to something more descriptive. You can run another Lighthouse audit to confirm your fix.
If want to implement this in react app then, We need to add aria-label property to <a>
tag.
Before:
<a href={`https://${ this.props.info }`} target="_blank" rel="noopener noreferrer"> <i className="fa fa-circle fa-stack-2x"></i> <i className={ `fa fa-${ this.props.icon } fa-stack-1x fa-inverse` }></i> </a>
After:
<a href={`https://${ this.props.info }`} aria-label={`${ this.props.name }`} target="_blank" rel="noopener noreferrer"> <i className="fa fa-circle fa-stack-2x"></i> <i className={ `fa fa-${ this.props.icon } fa-stack-1x fa-inverse` }></i> </a>
For accessibility reasons (required for screen readers) links must contain a text or have description in aria-label
attribute. In many use cases like yours you don't want to add any text in a link, but instead use as image or any graphic element wrapper.
Fix it by adding aria-label="Twitter"
to your a
element, like
<a href="https://twitter.com/@some-name-here" aria-label="Twitter" target="_blank" rel="noopener" class="social-icon twitter grayscale"></a>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With