Skip to content

Commit 63b2ed2

Browse files
authored
Make tooltip block sitewide accessible and fix warning icon accessibility issue (#10060)
* Make tooltip block sitewide accessible and fix warning icon key accessibility issue * Remove unnecessary extra line and whitespace
1 parent e003bd6 commit 63b2ed2

7 files changed

Lines changed: 104 additions & 74 deletions

File tree

src/Bootstrap/dist/css/bootstrap-theme.css

Lines changed: 36 additions & 28 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/Bootstrap/less/theme/base.less

Lines changed: 44 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -633,4 +633,47 @@ body[id="/"] {
633633
background-repeat: no-repeat;
634634
background-attachment: fixed;
635635
color: var(--neutralForeground1Rest);
636-
}
636+
}
637+
/* For tooltip */
638+
.tooltip-target {
639+
position: relative;
640+
text-decoration: none;
641+
color: var(--brandForegroundLinkRest);
642+
cursor: pointer;
643+
644+
&:hover {
645+
color: var(--brandForegroundLinkHover);
646+
}
647+
648+
&.tooltip-icon--black-icon {
649+
color: var(--neutralForeground1Rest);
650+
}
651+
}
652+
653+
.tooltip-wrapper.popover {
654+
min-width: 276px;
655+
position: absolute;
656+
transform: translateY(-50%);
657+
top: calc(50%);
658+
}
659+
660+
.tooltip-wrapper.popover.tooltip-with-icon {
661+
top: calc(50%);
662+
}
663+
664+
.tooltip-block {
665+
position: relative;
666+
color: var(--neutralForeground1Rest);
667+
668+
.popover-content {
669+
display: block;
670+
}
671+
672+
.popover {
673+
left: -9999px;
674+
display: inline-block;
675+
}
676+
.popover.show {
677+
left: 0;
678+
}
679+
}

src/Bootstrap/less/theme/page-list-packages.less

Lines changed: 0 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -295,37 +295,5 @@
295295
display: none;
296296
}
297297
}
298-
299-
/* For tooltip */
300-
.tooltip-target {
301-
position: relative;
302-
text-decoration: none;
303-
color: var(--brandForegroundLinkRest);
304-
cursor: pointer;
305-
306-
&:hover {
307-
color: var(--brandForegroundLinkHover);
308-
}
309-
}
310-
311-
.tooltip-wrapper.popover {
312-
min-width: 276px;
313-
position: absolute;
314-
transform: translateY(-50%);
315-
top: calc(50%);
316-
}
317-
318-
.tooltip-wrapper.popover.tooltip-with-icon {
319-
top: calc(50%);
320-
}
321-
322-
.tooltip-block {
323-
position: relative;
324-
color: var(--neutralForeground1Rest);
325-
326-
.popover-content {
327-
display: block;
328-
}
329-
}
330298
}
331299

src/NuGetGallery/Content/gallery/css/bootstrap.min.css

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/NuGetGallery/Scripts/gallery/common.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -675,4 +675,14 @@
675675
$("#footer-privacy-policy-link").after(" - <a class='button' href = 'javascript: window.nuget.wcpSiteConsent.manageConsent()' > Manage Cookies</a >")
676676
}
677677
});
678+
//for tooltip hover and focus
679+
$('.tooltip-target').each(function () {
680+
$(this).on('mouseenter focusin', function () {
681+
$(this).find('.tooltip-wrapper').addClass('show');
682+
});
683+
$(this).on('mouseleave focusout', function () {
684+
$(this).find('.tooltip-wrapper').removeClass('show');
685+
});
686+
});
687+
678688
}());

src/NuGetGallery/Scripts/gallery/page-list-packages.js

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -212,16 +212,7 @@ $(function() {
212212
$(".reserved-indicator").each(window.nuget.setPopovers);
213213
$(".package-warning--vulnerable").each(window.nuget.setPopovers);
214214
$(".package-warning--deprecated").each(window.nuget.setPopovers);
215-
//for tooltip hover and focus
216-
$('.tooltip-target').each(function () {
217-
$(this).on('mouseenter focusin', function () {
218-
$(this).find('.tooltip-wrapper').addClass('show');
219-
});
220-
$(this).on('mouseleave focusout', function () {
221-
$(this).find('.tooltip-wrapper').removeClass('show');
222-
});
223-
});
224-
215+
225216
// for using arrow keys in Framwork filter mode checkbox tree
226217
$('.tfmTab li input').each(function () {
227218
$(this).on('keydown', function (e) {

src/NuGetGallery/Views/Packages/DisplayPackage.cshtml

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -971,8 +971,18 @@
971971
}
972972
else
973973
{
974-
<td tabindex="0" class="package-icon-cell package-warning-icon" aria-label="@packageVersion.PackageWarningIconTitle">
975-
<i tabindex="0" class="ms-Icon ms-Icon--Warning package-icon" title="@packageVersion.PackageWarningIconTitle"></i>
974+
<td tabindex="0" class="package-icon-cell package-warning-icon">
975+
<a class="tooltip-target tooltip-icon--black-icon" href="javascript:void(0)" role="button" aria-describedby="[email protected]" >
976+
<i class="ms-Icon ms-Icon--Warning package-icon"></i>
977+
<span class="tooltip-block" role="tooltip" id="[email protected]">
978+
<span class="tooltip-wrapper tooltip-with-icon popover right">
979+
<span class="arrow"></span>
980+
<span class="popover-content">
981+
@packageVersion.PackageWarningIconTitle
982+
</span>
983+
</span>
984+
</span>
985+
</a>
976986
</td>
977987
}
978988
</tr>

0 commit comments

Comments
 (0)