import { Device } from "@siteimprove/alfa-device" ; import { Node } from "@siteimprove/alfa-dom" ; import { Predicate } from "@siteimprove/alfa-predicate" ; import { isIgnored } from "./is-ignored" ; import { isVisible } from "./is-visible" ; const { and , not } = Predicate ; remarks export function isPerceivable < T extends Node > ( device ) { return and ( isVisible ( device ) , ( node ) => node . inclusiveDescendants ( ) . some ( not ( isIgnored ( device ) ) ) ) ; }