-
Notifications
You must be signed in to change notification settings - Fork 779
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: deprecate and replace dom.isVisible, utils.isHidden, and dom.isHiddenWithCss #3351
Changes from 7 commits
6693b99
68f30a2
c3f9f39
c87d1e8
7a9dcef
3d668f0
0e8892a
2134df8
cd7871b
db3006d
d5f74c8
b9ad968
e500486
3c34939
a830961
d99849b
ca9b4fd
ca5467c
33ce4d7
64fc544
9edbbfe
df4ebe5
d663d86
5d4aca6
c3371e8
04e8c2a
d63581f
fe8cdff
432cacc
86b9051
f8dadac
f514f5f
b825fbb
41328e6
3c5899c
c59d8b6
fdddacf
992613d
fff04f1
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,7 @@ | ||
import getComposedParent from './get-composed-parent'; | ||
import getElementCoordinates from './get-element-coordinates'; | ||
import getViewportSize from './get-viewport-size'; | ||
import AbstractVirtualNode from '../../core/base/virtual-node/abstract-virtual-node'; | ||
|
||
function noParentScrolled(element, offset) { | ||
element = getComposedParent(element); | ||
|
@@ -22,14 +23,17 @@ function noParentScrolled(element, offset) { | |
* @memberof axe.commons.dom | ||
* @instance | ||
* @param {Element} element | ||
* @param {Object} [options] | ||
* @param {Boolean} [options.isAncestor] If this function is being called on an ancestor of the target node | ||
* @return {Boolean} | ||
*/ | ||
function isOffscreen(element, recursed) { | ||
if (recursed) { | ||
function isOffscreen(element, { isAncestor } = {}) { | ||
if (isAncestor) { | ||
return false; | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Why would this be false? I don't quite get the logic of this. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It failed a test without it due to this logic and comment https://github.com/dequelabs/axe-core/blob/develop/lib/commons/dom/is-visible.js#L211-L216
|
||
} | ||
|
||
element = element.actualNode ? element.actualNode : element | ||
element = | ||
element instanceof AbstractVirtualNode ? element.actualNode : element; | ||
straker marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
let leftBoundary; | ||
const docElement = document.documentElement; | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I remember why we called this
isHiddenWithCss
. It's because for example an off screen element with aria-hidden is hidden for everyone, but this method is going to return false on it.I'm not sure what to suggest for this, other than that maybe we need another name for this still. This one can be potentially just as misleading as what we have today.