axe-core 4.10.0-canary.dde04a1 → 4.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/axe.d.ts CHANGED
@@ -342,9 +342,6 @@ declare namespace axe {
342
342
  interface DqElement extends SerialDqElement {
343
343
  element: Element;
344
344
  toJSON(): SerialDqElement;
345
- }
346
- interface DqElementConstructor {
347
- new (elm: Element, options?: { absolutePaths?: boolean }): DqElement;
348
345
  mergeSpecs(
349
346
  childSpec: SerialDqElement,
350
347
  parentSpec: SerialDqElement
@@ -408,24 +405,6 @@ declare namespace axe {
408
405
  boundingClientRect: DOMRect;
409
406
  }
410
407
 
411
- interface CustomNodeSerializer<T = SerialDqElement> {
412
- toSpec: (dqElm: DqElement) => T;
413
- mergeSpecs: (nodeSpec: T, parentFrameSpec: T) => T;
414
- }
415
-
416
- interface NodeSerializer {
417
- update: <T>(serializer: CustomNodeSerializer<T>) => void;
418
- toSpec: (node: Element | VirtualNode) => SerialDqElement;
419
- dqElmToSpec: (
420
- dqElm: DqElement | SerialDqElement,
421
- options?: RunOptions
422
- ) => SerialDqElement;
423
- mergeSpecs: (
424
- nodeSpec: SerialDqElement,
425
- parentFrameSpec: SerialDqElement
426
- ) => SerialDqElement;
427
- }
428
-
429
408
  interface Utils {
430
409
  getFrameContexts: (
431
410
  context?: ElementContext,
@@ -444,13 +423,15 @@ declare namespace axe {
444
423
  selector: unknown
445
424
  ) => selector is LabelledShadowDomSelector;
446
425
 
447
- DqElement: DqElementConstructor;
426
+ DqElement: new (
427
+ elm: Element,
428
+ options?: { absolutePaths?: boolean }
429
+ ) => DqElement;
448
430
  uuid: (
449
431
  options?: { random?: Uint8Array | Array<number> },
450
432
  buf?: Uint8Array | Array<number>,
451
433
  offset?: number
452
434
  ) => string | Uint8Array | Array<number>;
453
- nodeSerializer: NodeSerializer;
454
435
  }
455
436
 
456
437
  interface Aria {
package/axe.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! axe v4.10.0-canary.dde04a1
1
+ /*! axe v4.10.1
2
2
  * Copyright (c) 2015 - 2024 Deque Systems, Inc.
3
3
  *
4
4
  * Your use of this Source Code Form is subject to the terms of the Mozilla Public
@@ -22,7 +22,7 @@
22
22
  }, _typeof(o);
23
23
  }
24
24
  var axe = axe || {};
25
- axe.version = '4.10.0-canary.dde04a1';
25
+ axe.version = '4.10.1';
26
26
  if (typeof define === 'function' && define.amd) {
27
27
  define('axe-core', [], function() {
28
28
  return axe;
@@ -6663,6 +6663,7 @@
6663
6663
  var constants = {
6664
6664
  helpUrlBase: 'https://dequeuniversity.com/rules/',
6665
6665
  gridSize: 200,
6666
+ selectorSimilarFilterLimit: 700,
6666
6667
  results: [],
6667
6668
  resultGroups: [],
6668
6669
  resultGroupMap: {},
@@ -6847,7 +6848,7 @@
6847
6848
  return get_scroll_state_default;
6848
6849
  },
6849
6850
  getSelector: function getSelector() {
6850
- return _getSelector;
6851
+ return get_selector_default;
6851
6852
  },
6852
6853
  getSelectorData: function getSelectorData() {
6853
6854
  return _getSelectorData;
@@ -7596,8 +7597,8 @@
7596
7597
  } else {
7597
7598
  selector = features;
7598
7599
  }
7599
- if (!similar) {
7600
- similar = Array.from(doc.querySelectorAll(selector));
7600
+ if (!similar || similar.length > constants_default.selectorSimilarFilterLimit) {
7601
+ similar = findSimilar(doc, selector);
7601
7602
  } else {
7602
7603
  similar = similar.filter(function(item) {
7603
7604
  return element_matches_default(item, selector);
@@ -7612,9 +7613,13 @@
7612
7613
  }
7613
7614
  return ':root';
7614
7615
  }
7615
- function _getSelector(elm, options) {
7616
+ function getSelector(elm, options) {
7616
7617
  return _getShadowSelector(generateSelector, elm, options);
7617
7618
  }
7619
+ var get_selector_default = memoize_default(getSelector);
7620
+ var findSimilar = memoize_default(function(doc, selector) {
7621
+ return Array.from(doc.querySelectorAll(selector));
7622
+ });
7618
7623
  function generateAncestry(node) {
7619
7624
  var nodeName2 = node.nodeName.toLowerCase();
7620
7625
  var parentElement = node.parentElement;
@@ -7791,7 +7796,7 @@
7791
7796
  });
7792
7797
  DqElement.prototype = {
7793
7798
  get selector() {
7794
- return this.spec.selector || [ _getSelector(this.element, this._options) ];
7799
+ return this.spec.selector || [ get_selector_default(this.element, this._options) ];
7795
7800
  },
7796
7801
  get ancestry() {
7797
7802
  return this.spec.ancestry || [ _getAncestry(this.element) ];
@@ -8664,7 +8669,7 @@
8664
8669
  function err(message, node) {
8665
8670
  var selector;
8666
8671
  if (axe._tree) {
8667
- selector = _getSelector(node);
8672
+ selector = get_selector_default(node);
8668
8673
  }
8669
8674
  return new Error(message + ': ' + (selector || node));
8670
8675
  }
@@ -28657,7 +28662,15 @@
28657
28662
  };
28658
28663
  }));
28659
28664
  if (context.initiator) {
28665
+ if (options.performanceTimer) {
28666
+ performance_timer_default.mark('auditAfterStart');
28667
+ }
28660
28668
  results = audit.after(results, options);
28669
+ if (options.performanceTimer) {
28670
+ performance_timer_default.mark('auditAfterEnd');
28671
+ performance_timer_default.measure('audit.after', 'auditAfterStart', 'auditAfterEnd');
28672
+ performance_timer_default.logMeasures('audit.after');
28673
+ }
28661
28674
  results.forEach(_publishMetaData);
28662
28675
  results = results.map(_finalizeRuleResult);
28663
28676
  }
@@ -28842,10 +28855,16 @@
28842
28855
  }
28843
28856
  axe._running = true;
28844
28857
  if (options.performanceTimer) {
28845
- axe.utils.performanceTimer.start();
28858
+ performance_timer_default.start();
28846
28859
  }
28847
28860
  function handleRunRules(rawResults, teardown2) {
28848
28861
  var respond = function respond(results) {
28862
+ if (options.performanceTimer) {
28863
+ performance_timer_default.mark('reporterEnd');
28864
+ performance_timer_default.measure('reporter', 'reporterStart', 'reporterEnd');
28865
+ performance_timer_default.logMeasures('reporter');
28866
+ performance_timer_default.end();
28867
+ }
28849
28868
  axe._running = false;
28850
28869
  teardown2();
28851
28870
  try {
@@ -28863,10 +28882,10 @@
28863
28882
  axe.log(e);
28864
28883
  }
28865
28884
  };
28866
- if (options.performanceTimer) {
28867
- axe.utils.performanceTimer.end();
28868
- }
28869
28885
  try {
28886
+ if (options.performanceTimer) {
28887
+ performance_timer_default.mark('reporterStart');
28888
+ }
28870
28889
  createReport(rawResults, options, respond, wrappedReject);
28871
28890
  } catch (err2) {
28872
28891
  wrappedReject(err2);
@@ -28874,7 +28893,7 @@
28874
28893
  }
28875
28894
  function errorRunRules(err2) {
28876
28895
  if (options.performanceTimer) {
28877
- axe.utils.performanceTimer.end();
28896
+ performance_timer_default.end();
28878
28897
  }
28879
28898
  axe._running = false;
28880
28899
  callback(err2);