diff --git a/lib/core/utils/get-scroll.js b/lib/core/utils/get-scroll.js index 306237270e..7270104bee 100644 --- a/lib/core/utils/get-scroll.js +++ b/lib/core/utils/get-scroll.js @@ -1,12 +1,14 @@ +import memoize from './memoize'; + /** * Get the scroll position of given element * @method getScroll * @memberof axe.utils - * @param {Element} node + * @param {Element} elm * @param {buffer} (Optional) allowed negligence in overflow * @returns {Object | undefined} */ -export default function getScroll(elm, buffer = 0) { +function getScroll(elm, buffer = 0) { const overflowX = elm.scrollWidth > elm.clientWidth + buffer; const overflowY = elm.scrollHeight > elm.clientHeight + buffer; @@ -38,3 +40,5 @@ function isScrollable(style, prop) { const overflowProp = style.getPropertyValue(prop); return ['scroll', 'auto'].includes(overflowProp); } + +export default memoize(getScroll);