{"product_id":"block-inaccessible-gitlab-merge-requests-with-n8n-wcag-checks","title":"Block Inaccessible GitLab Merge Requests with n8n WCAG Checks","description":"\u003ch3\u003eBlock inaccessible GitLab merge requests with automated WCAG 2.1 checks in n8n\u003c\/h3\u003e\n\u003cp\u003eThis n8n workflow automatically scans your GitLab merge request changes for basic WCAG 2.1 accessibility problems, then sets a GitLab commit status and maintains a single merge request comment with findings and suggested fixes—helping you prevent inaccessible code from being merged.\u003c\/p\u003e\n\n\u003ch3\u003eWhat this workflow does\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003eTriggers on merge request updates\u003c\/strong\u003e when a GitLab merge request is opened, reopened, or updated while it remains in the \u003cem\u003eopened\u003c\/em\u003e state.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003ePulls the merge request diffs\u003c\/strong\u003e via the GitLab REST API, filters to \u003cem\u003emarkup-related\u003c\/em\u003e files, and determines which \u003cem\u003eline numbers were added\u003c\/em\u003e by the merge request.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eLoads full file content\u003c\/strong\u003e for each changed markup file at the merge request’s last commit SHA.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eRuns WCAG checks for common markup issues\u003c\/strong\u003e, including:\n    \u003cul\u003e\n      \u003cli\u003eMissing image \u003cem\u003ealt\u003c\/em\u003e text\u003c\/li\u003e\n      \u003cli\u003eMissing form labels\u003c\/li\u003e\n      \u003cli\u003eMissing page language\u003c\/li\u003e\n      \u003cli\u003eEmpty links\/buttons\u003c\/li\u003e\n      \u003cli\u003eMissing iframe titles\u003c\/li\u003e\n      \u003cli\u003eLow inline color contrast\u003c\/li\u003e\n      \u003cli\u003ePositive \u003cem\u003etabindex\u003c\/em\u003e\n\u003c\/li\u003e\n      \u003cli\u003eAutoplay media\u003c\/li\u003e\n    \u003c\/ul\u003e\n  \u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eFails or passes intelligently\u003c\/strong\u003e based on problems introduced by the merge request (or unreadable files).\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eSupports an optional waiver\u003c\/strong\u003e using a configured GitLab label.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eReports results in GitLab\u003c\/strong\u003e by setting a commit status and creating\/updating one merge request comment containing detailed findings and suggested fixes.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eUse cases\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003eEnforce accessibility gatekeeping for front-end changes before merge in a GitLab-based SaaS product.\u003c\/li\u003e\n  \u003cli\u003eReduce manual WCAG review time by catching frequent markup accessibility regressions automatically in the PR\/MR workflow.\u003c\/li\u003e\n  \u003cli\u003eImprove EU Accessibility Act alignment with consistent, automated checks on introduced issues.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eTechnical details\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003eIntegrations:\u003c\/strong\u003e GitLab OAuth2 credential, GitLab Trigger, GitLab HTTP Request, GitLab nodes\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eLogic nodes:\u003c\/strong\u003e \u003ccode\u003eif\u003c\/code\u003e, \u003ccode\u003eset\u003c\/code\u003e, \u003ccode\u003ecode\u003c\/code\u003e, \u003ccode\u003eswitch\u003c\/code\u003e, \u003ccode\u003eno op\u003c\/code\u003e\n\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eBehavior:\u003c\/strong\u003e Reads merge request diffs, fetches markup content at the last commit SHA, flags issues (including whether they’re in added lines), then updates GitLab commit status and a single MR comment.\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"N8N Commerce","offers":[{"title":"Default Title","offer_id":46154002333875,"sku":"N8N-20294","price":73.99,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0749\/6279\/6723\/files\/AW10iAQYE6p_obZQZCNK0_3NLE0fvY.png?v=1790932535","url":"https:\/\/buyflowscripts.com\/products\/block-inaccessible-gitlab-merge-requests-with-n8n-wcag-checks","provider":"N8N Commerce","version":"1.0","type":"link"}