What does this mean?
An aria-label attribute is being used on an element with an aria role which cannot receive an aria label. Usually this means it is being applied to an element with an implicit role of "generic", such as a span or div.
For example when marking up a card in an interface:
<div aria-label="Your contact details">
<h2>Contact details</h2>
...
</div>
or like this where an attempt is being made to override how a screen-reader announces some text:
<i aria-label="Page 10">pg 10</i>
As a rule, screen-readers will not announce an aria-label set on a generic element, so it might be that the user is not getting the announcement you expect. However some browsers may try to "fix" the developer's error and assign a role="group" to the element to make it valid, so despite it being invalid you might find some screen-reader/browser combinations may still announce it.
Impact on users
Because we are looking at generics this issue will typically be flagged on an element being used to break up a page into blocks as in our example above.
From a user's point-of-view we need to consider if the information in the aria-label is available in some other way. If it is (such as with the h2 in our first example) then the impact might be low if the aria-label is not announced.
However the presence of an aria-label alongside visual copy which accomplishes the same thing is an anti-pattern as the screen-reader user is being exposed to repetition of content.
How to fix
If the aria-label is being used on a segmenting block you should look at whether the aria-label is really necessary. Chances are that you already have a heading which is doing the same thing (as the h2 is doing in our example) or you might be able to introduce one. If so, remove the aria-label as this will remove repetition and help all users understand the content better.
<div>
<h2>Contact details</h2>
...
</div>
If you decide that you do actually need the aria-label, then in order for it to be announced it needs to be on a permitted role which for this purpose could be a section element.
<section aria-label="Your contact details">
<h2>Contact details</h2>
...
</section>
For our other example the general recommendation is not to try to force screen-reader announcements in this way and a better solution might be to improve the visible text which will help all users. However if we had to retain the visual, then we don't actually want to give the i element a role as it will still result in duplication of copy. What we can do in this instance is present the alternate in the following way:
<i>
<span aria-hidden>pg 10</span>
<span class="visually-hidden">Page 10</span>
</i>
This will retain the visual but expose the preferred copy to the screen-reader user.
Caution should be used when doing this not to cause either a disconnect for screen-reader users who can see the screen, or to cause issues for speech-recognition users where this forms part of an accessible name for a control.