{"_id":"@a11yfred/textlint-rule-neighbor","_rev":"5-db3b10c42517be27db21fe10918cc2c8","name":"@a11yfred/textlint-rule-neighbor","dist-tags":{"latest":"2.2.0"},"versions":{"1.1.2":{"name":"@a11yfred/textlint-rule-neighbor","version":"1.1.2","keywords":["textlint","textlintrule","accessibility","a11yfred","content","plain-language","inclusive-language","ableist"],"author":{"name":"Mikey Ilagan"},"license":"MIT","_id":"@a11yfred/textlint-rule-neighbor@1.1.2","maintainers":[{"name":"mikeyil","email":"ilagan@gmail.com"}],"homepage":"https://github.com/a11yfred/neighbor#readme","bugs":{"url":"https://github.com/a11yfred/neighbor/issues"},"dist":{"shasum":"81f14c09cd95deb8b590e747bf13fa9925cfb5a8","tarball":"https://registry.npmjs.org/@a11yfred/textlint-rule-neighbor/-/textlint-rule-neighbor-1.1.2.tgz","fileCount":3,"integrity":"sha512-qUfhRMgf5jgEd+7FxutwaZKgJTF+ruxhGzONTu2uoNAk2gB9bvdolwzVxCCF1q3btdAL4eXfiL8hxRzdNBeTzg==","signatures":[{"sig":"MEUCIAnj2MWzWvGqHQxlh/IxcADG8iLNKr4FjDSgNSeNnsUFAiEAwgDR6BDJlmEs9R3mXUz1Qx8PuualeNnvYEVDKoRdGUU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@a11yfred%2ftextlint-rule-neighbor@1.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4309},"main":"index.js","type":"module","gitHead":"78516754e2008be32bbc076ebf640869c70f1723","_npmUser":{"name":"mikeyil","email":"ilagan@gmail.com"},"repository":{"url":"git+https://github.com/a11yfred/neighbor.git","type":"git","directory":"packages/textlint-rule-neighbor"},"_npmVersion":"10.9.8","description":"Textlint prose linting rules for accessibility. Won't you be my neighbor?","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@a11yfred/neighbor":"^1.1.2"},"_hasShrinkwrap":false,"peerDependencies":{"textlint":">=12"},"_npmOperationalInternal":{"tmp":"tmp/textlint-rule-neighbor_1.1.2_1779574991858_0.028276691278664945","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@a11yfred/textlint-rule-neighbor","version":"2.0.0","keywords":["textlint","textlintrule","accessibility","a11yfred","content","plain-language","inclusive-language","ableist"],"author":{"name":"Mikey Ilagan"},"license":"MIT","_id":"@a11yfred/textlint-rule-neighbor@2.0.0","maintainers":[{"name":"mikeyil","email":"ilagan@gmail.com"}],"homepage":"https://github.com/a11yfred/neighbor#readme","bugs":{"url":"https://github.com/a11yfred/neighbor/issues"},"dist":{"shasum":"f4f89142b18320d0d02d23be84c1d9b2c94efea6","tarball":"https://registry.npmjs.org/@a11yfred/textlint-rule-neighbor/-/textlint-rule-neighbor-2.0.0.tgz","fileCount":3,"integrity":"sha512-rn6GElGF7mnbSRsjd4d5Z7nFsJgSvn87ypGJECk8K7HLPEDgjAnzArfzAiPMnUufn6T3XUWQ7ZNSDvVxEX9kQQ==","signatures":[{"sig":"MEUCIBGC4BbP34cHRO8lHy9/LHG5WEhOvvqcsQrIRbww5T88AiEAp0WP+sqLTUqimvFZAAd+dYuE+IZmuqLnIzG0f4CD7Cw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@a11yfred%2ftextlint-rule-neighbor@2.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4310},"main":"index.js","type":"module","gitHead":"5628e2f580277b8185f9882deb98ae588065ed39","_npmUser":{"name":"mikeyil","email":"ilagan@gmail.com"},"repository":{"url":"git+https://github.com/a11yfred/neighbor.git","type":"git","directory":"packages/textlint-rule-neighbor"},"_npmVersion":"10.9.8","description":"Textlint prose linting rules for accessibility. Won't you be my neighbor?","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@a11yfred/neighbor":"^2.0.0"},"_hasShrinkwrap":false,"peerDependencies":{"textlint":">=12"},"_npmOperationalInternal":{"tmp":"tmp/textlint-rule-neighbor_2.0.0_1779634204717_0.9514903400076151","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"@a11yfred/textlint-rule-neighbor","version":"2.1.0","keywords":["textlint","textlintrule","accessibility","a11yfred","content","plain-language","inclusive-language","ableist"],"author":{"name":"Mikey Ilagan"},"license":"MIT","_id":"@a11yfred/textlint-rule-neighbor@2.1.0","maintainers":[{"name":"mikeyil","email":"ilagan@gmail.com"}],"homepage":"https://github.com/a11yfred/neighbor#readme","bugs":{"url":"https://github.com/a11yfred/neighbor/issues"},"dist":{"shasum":"315f11b67450d21de46e72cf69c5ddb444175538","tarball":"https://registry.npmjs.org/@a11yfred/textlint-rule-neighbor/-/textlint-rule-neighbor-2.1.0.tgz","fileCount":3,"integrity":"sha512-1sqbHCvf5UioUbNiOJQN4cpbeVwZzxLygH9RfdEc6fSdy3mY6Mg4CgQr1Pj4r/tmZtSuo3CMLfrNYVL0tFO2GA==","signatures":[{"sig":"MEUCIBzNt0Ai81n7OCFzIiGOSJcZKdwKjeOKnhK7kjzmf9QvAiEA0/WMSH37p/4dJv8zyG83ywRDpk8wFv39H/wqcluedCQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@a11yfred%2ftextlint-rule-neighbor@2.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":8275},"main":"index.js","type":"module","engines":{"node":">=18"},"gitHead":"e8fc9c35bc598ab050be8a0fc9798cde3fe8df09","_npmUser":{"name":"mikeyil","email":"ilagan@gmail.com"},"repository":{"url":"git+https://github.com/a11yfred/neighbor.git","type":"git","directory":"packages/textlint-rule-neighbor"},"_npmVersion":"10.9.8","description":"Textlint prose linting rules for accessibility. Won't you be my neighbor?","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@a11yfred/neighbor":"^2.0.0"},"_hasShrinkwrap":false,"peerDependencies":{"textlint":">=12"},"_npmOperationalInternal":{"tmp":"tmp/textlint-rule-neighbor_2.1.0_1779751688869_0.7816250753064578","host":"s3://npm-registry-packages-npm-production"}},"2.1.1":{"name":"@a11yfred/textlint-rule-neighbor","version":"2.1.1","keywords":["textlint","textlintrule","accessibility","a11yfred","content","plain-language","inclusive-language","ableist"],"author":{"name":"Mikey Ilagan"},"license":"MIT","_id":"@a11yfred/textlint-rule-neighbor@2.1.1","maintainers":[{"name":"mikeyil","email":"ilagan@gmail.com"}],"homepage":"https://github.com/a11yfred/neighbor#readme","bugs":{"url":"https://github.com/a11yfred/neighbor/issues"},"dist":{"shasum":"b18747dbcb22664e3d24dacd831fd0e4e8690863","tarball":"https://registry.npmjs.org/@a11yfred/textlint-rule-neighbor/-/textlint-rule-neighbor-2.1.1.tgz","fileCount":3,"integrity":"sha512-rfVm7X4YMtB950Qh4+TvLg8YtbJ/9BbEvLwd7k8HMh6Z7nbytrNdNWjJxV3RDQQ1m9NGjp2kWriae0loFdyybw==","signatures":[{"sig":"MEYCIQC3N03TJrBFwpL9hsId4GMcDfYyPbmhFnC83SkMkQ5YWQIhAMlwIZ5G12O4yT3BqV2kihq4tfGywmbuJbWkavaBwqnb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@a11yfred%2ftextlint-rule-neighbor@2.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":8275},"main":"index.js","type":"module","engines":{"node":">=18"},"gitHead":"6b8df8327d1f2eca3057f489eaea8ecd7134b42e","_npmUser":{"name":"mikeyil","email":"ilagan@gmail.com"},"repository":{"url":"git+https://github.com/a11yfred/neighbor.git","type":"git","directory":"packages/textlint-rule-neighbor"},"_npmVersion":"10.9.8","description":"Textlint prose linting rules for accessibility. Won't you be my neighbor?","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@a11yfred/neighbor":"^2.0.0"},"_hasShrinkwrap":false,"peerDependencies":{"textlint":">=12"},"_npmOperationalInternal":{"tmp":"tmp/textlint-rule-neighbor_2.1.1_1779752071880_0.14415617981540763","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"@a11yfred/textlint-rule-neighbor","version":"2.2.0","description":"Textlint prose linting rules for accessibility. Won't you be my neighbor?","type":"module","main":"index.js","keywords":["textlint","textlintrule","accessibility","a11yfred","content","plain-language","inclusive-language","ableist"],"author":{"name":"Mikey Ilagan"},"license":"MIT","dependencies":{"@a11yfred/neighbor":"^2.0.0"},"peerDependencies":{"textlint":">=12"},"repository":{"type":"git","url":"git+https://github.com/a11yfred/neighbor.git","directory":"packages/textlint-rule-neighbor"},"engines":{"node":">=18"},"_id":"@a11yfred/textlint-rule-neighbor@2.2.0","gitHead":"4913e818f42a3db29bdec17c5fff84550e0bbb0b","bugs":{"url":"https://github.com/a11yfred/neighbor/issues"},"homepage":"https://github.com/a11yfred/neighbor#readme","_nodeVersion":"22.22.3","_npmVersion":"10.9.8","dist":{"integrity":"sha512-MJToD0V0thTRnOIfrHXQYODv1cxWPIiOkQJ743ZDLzCgJQGGW9ovp3Olzrhs6aKz3hmAru52YnC4qY7HZ9T0Lg==","shasum":"0de5230b650a37a6fda7740f8f7c501faac4a2cd","tarball":"https://registry.npmjs.org/@a11yfred/textlint-rule-neighbor/-/textlint-rule-neighbor-2.2.0.tgz","fileCount":3,"unpackedSize":8275,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@a11yfred%2ftextlint-rule-neighbor@2.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIHCGf84P+jCGjmdQ6hi7eKmmZOQKnc+GjQsj5hViwP9zAiEAp6ZG7mmmVj29CnCevhu+QinYBX8w+fpricHHllsI8DU="}]},"_npmUser":{"name":"mikeyil","email":"ilagan@gmail.com"},"directories":{},"maintainers":[{"name":"mikeyil","email":"ilagan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/textlint-rule-neighbor_2.2.0_1779757623657_0.6976133545372802"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-23T22:23:11.724Z","modified":"2026-05-26T01:07:04.138Z","1.1.2":"2026-05-23T22:23:12.025Z","2.0.0":"2026-05-24T14:50:04.840Z","2.1.0":"2026-05-25T23:28:09.009Z","2.1.1":"2026-05-25T23:34:32.019Z","2.2.0":"2026-05-26T01:07:03.785Z"},"bugs":{"url":"https://github.com/a11yfred/neighbor/issues"},"author":{"name":"Mikey Ilagan"},"license":"MIT","homepage":"https://github.com/a11yfred/neighbor#readme","keywords":["textlint","textlintrule","accessibility","a11yfred","content","plain-language","inclusive-language","ableist"],"repository":{"type":"git","url":"git+https://github.com/a11yfred/neighbor.git","directory":"packages/textlint-rule-neighbor"},"description":"Textlint prose linting rules for accessibility. Won't you be my neighbor?","maintainers":[{"name":"mikeyil","email":"ilagan@gmail.com"}],"readme":"# @a11yfred/textlint-rule-neighbor\n\nTextlint prose linting rules for accessibility and inclusive language. This plugin runs the exact same content rules as `@a11yfred/neighbor` for ESLint, but tailored natively for Textlint.\n\n## Installation\n\nYou need to install both `textlint` and this rule package. Because this rule shares dictionaries with the main `neighbor` package, you must install both:\n\n```bash\nnpm install -D textlint @a11yfred/neighbor @a11yfred/textlint-rule-neighbor\n```\n\n## Usage\n\nAdd `neighbor` to your `.textlintrc` or `.textlintrc.json`:\n\n```json\n{\n  \"rules\": {\n    \"@a11yfred/neighbor\": true\n  }\n}\n```\n\n### What It Checks\n\nThis rule analyzes your markdown and text nodes for:\n\n* **Ableist Language**: Flags slurs, condescending euphemisms, and suffering-framing.\n* **Disability Metaphors**: Flags figurative uses of disability (\"blind spot\", \"tone deaf\").\n* **English Idioms**: Flags opaque business jargon and sports metaphors that are inaccessible to ESL readers.\n* **Directional Language**: Flags layout-dependent position references (\"see the right sidebar\").\n* **Vague Call-To-Action**: Flags unhelpful link text like \"click here\" or \"read more\".\n* **Exclusive Language**: Flags non-inclusive jargon and culturally appropriated terms (\"blacklist\", \"spirit animal\").\n* **Colonial & Violent Language**: Flags terms rooted in colonialism or violence when applied to people (\"stakeholder\", \"target audience\").\n* **Deficit Language**: Flags language reducing people to their circumstances (\"the homeless\", \"addict\").\n* **Gendered Language**: Flags generic gendered pronouns and occupation names (\"he/she\", \"fireman\", \"manpower\").\n* **Anti-LGBTQ+ Language**: Flags outdated or pathologizing terms regarding sexual orientation and gender identity.\n* **Device-Specific Actions**: Flags verbs assuming a specific input device (\"click on\", \"tap the\").\n* **Typography in Prose**: Flags words in ALL CAPS (which screen readers may spell out letter-by-letter) and raw `&` used in place of \"and\" in prose (off by default).\n* **Cross-Dialect Confusion**: Flags terms causing confusion or double entendre across English dialects (e.g. \"pants\", \"cum\") (off by default).\n\n## Options\n\nYou can configure options in your `.textlintrc`. The rule accepts options to customize behavior:\n\n* `allow` (array of strings): A list of matched terms to ignore/allow.\n* `enableOffTerms` (boolean, default: `false`): Set to `true` to enable checking of highly culturally specific regional terms that are disabled by default (e.g. `beyond the pale`, `dreamtime`, `part-Aboriginal`).\n* `knownAcronyms` (array of strings): Additional ALL CAPS acronyms/words to allow under the ALL CAPS rule.\n\nExample configuration in `.textlintrc.json`:\n\n```json\n{\n  \"rules\": {\n    \"@a11yfred/neighbor\": {\n      \"allow\": [\"acceptable idiom\"],\n      \"enableOffTerms\": true,\n      \"knownAcronyms\": [\"GDPR\", \"CCPA\"]\n    }\n  }\n}\n```\n\n","readmeFilename":"README.md"}