Using the b- button component and adding an href attribute will generate an <a> element, which is semantically correct. Unfortunately, it adds a role attribute and sets the value to button. This role will incorrectly identify the element to some screen reader as a button instead of a link and will be confusing since a button is to perform an action opposed to directing the user to a different page or section within a page.
To Be
<div>
<!-- TODO: link to network settings -->
<b-link href="#" class="btn btn-secondary">
<span>{{ $t('pageOverview.quicklinks.editNetworkSettings') }}</span>
<icon-arrow-right />
</b-link>
</div>
As Is
Using the
b- button
component and adding anhref
attribute will generate an<a>
element, which is semantically correct. Unfortunately, it adds arole
attribute and sets the value to button. This role will incorrectly identify the element to some screen reader as a button instead of a link and will be confusing since a button is to perform an action opposed to directing the user to a different page or section within a page.To Be