source: frontend/node_modules/eslint-plugin-jsx-a11y/lib/rules/heading-has-content.js

Last change on this file was 9af201e, checked in by MBK <marija.karapandzova@…>, 2 weeks ago

Fix frontend appearance

  • Property mode set to 100644
File size: 2.2 KB
RevLine 
[9af201e]1"use strict";
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6exports["default"] = void 0;
7var _schemas = require("../util/schemas");
8var _getElementType = _interopRequireDefault(require("../util/getElementType"));
9var _hasAccessibleChild = _interopRequireDefault(require("../util/hasAccessibleChild"));
10var _isHiddenFromScreenReader = _interopRequireDefault(require("../util/isHiddenFromScreenReader"));
11function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
12/**
13 * @fileoverview Enforce heading (h1, h2, etc) elements contain accessible content.
14 * @author Ethan Cohen
15 */
16
17// ----------------------------------------------------------------------------
18// Rule Definition
19// ----------------------------------------------------------------------------
20
21var errorMessage = 'Headings must have content and the content must be accessible by a screen reader.';
22var headings = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'];
23var schema = (0, _schemas.generateObjSchema)({
24 components: _schemas.arraySchema
25});
26var _default = exports["default"] = {
27 meta: {
28 docs: {
29 url: 'https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/heading-has-content.md',
30 description: 'Enforce heading (`h1`, `h2`, etc) elements contain accessible content.'
31 },
32 schema: [schema]
33 },
34 create: function create(context) {
35 var elementType = (0, _getElementType["default"])(context);
36 return {
37 JSXOpeningElement: function JSXOpeningElement(node) {
38 var options = context.options[0] || {};
39 var componentOptions = options.components || [];
40 var typeCheck = headings.concat(componentOptions);
41 var nodeType = elementType(node);
42
43 // Only check 'h*' elements and custom types.
44 if (typeCheck.indexOf(nodeType) === -1) {
45 return;
46 }
47 if ((0, _hasAccessibleChild["default"])(node.parent, elementType)) {
48 return;
49 }
50 if ((0, _isHiddenFromScreenReader["default"])(nodeType, node.attributes)) {
51 return;
52 }
53 context.report({
54 node,
55 message: errorMessage
56 });
57 }
58 };
59 }
60};
61module.exports = exports.default;
Note: See TracBrowser for help on using the repository browser.