[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fAagbneIP6bRP-aLXtIpwCNL_6MA8QxYbc2eRwgihJgw":3,"$fwqLLse2hpSsmEzSB6S1FGiNc8gY8lpakm2BdyDLMAB0":188,"$fbuHHv1ChGjSAm0oZV-jn7nzZCHN2DmN867Bcz7XfWZw":193},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":11,"num_ratings":11,"last_updated":13,"tested_up_to":14,"requires_at_least":15,"requires_php":16,"tags":17,"homepage":23,"download_link":24,"security_score":25,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27,"discovery_status":28,"vulnerabilities":29,"developer":30,"crawl_stats":26,"alternatives":38,"analysis":128,"fingerprints":170},"hero-color-picker","Hero Color Picker","1.0.18","Marc Tönsing","https:\u002F\u002Fprofiles.wordpress.org\u002Fmarcdk\u002F","\u003Cp>\u003Cstrong>Hero Color Picker\u003C\u002Fstrong> adds per-post background and font color controls to the editor sidebar for hero styling via CSS on elements with the \u003Ccode>hero-colored\u003C\u002Fcode> class.\u003C\u002Fp>\n\u003Cp>Features:\u003Cbr \u002F>\n– Two color controls: \u003Ccode>Background Color\u003C\u002Fcode> and \u003Ccode>Font Color\u003C\u002Fcode>\u003Cbr \u002F>\n– On-demand color pickers in compact dropdown popovers\u003Cbr \u002F>\n– Live preview of both colors together directly in the sidebar\u003Cbr \u002F>\n– Applies selected colors to the editor post summary area for a closer backend preview\u003Cbr \u002F>\n– Removes the featured image preview outline while a custom background color is active\u003Cbr \u002F>\n– Accessibility check for \u003Ccode>WCAG AAA Normal Text\u003C\u002Fcode> with \u003Ccode>PASS\u003C\u002Fcode> \u002F \u003Ccode>FAILED\u003C\u002Fcode> status\u003Cbr \u002F>\n– Panel is shown only while editing posts (\u003Ccode>post\u003C\u002Fcode>), not in template editing contexts\u003Cbr \u002F>\n– Adds a core-like posts list view \u003Ccode>Hero Background\u003C\u002Fcode> to show only posts with a custom hero background color\u003Cbr \u002F>\n– Works on elements that have the CSS class \u003Ccode>hero-colored\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>Stored as post meta:\u003Cbr \u002F>\n– \u003Ccode>hero_color_picker_hero_color\u003C\u002Fcode>\u003Cbr \u002F>\n– \u003Ccode>hero_color_picker_font_color\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>Frontend output (only when values are set):\u003C\u002Fp>\n\u003Cpre>\u003Ccode>.hero-colored {\n    background-color: $background;\n    color: $font;\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Important template setup:\u003Cbr \u002F>\n– Open your block theme template (for example \u003Ccode>Single\u003C\u002Fcode>) in the Site Editor.\u003Cbr \u002F>\n– Select the \u003Ccode>Group\u003C\u002Fcode> block that should receive the hero styles.\u003Cbr \u002F>\n– In block settings, add \u003Ccode>hero-colored\u003C\u002Fcode> to \u003Ccode>Additional CSS class(es)\u003C\u002Fcode>.\u003C\u002Fp>\n","Hero Color Picker adds per-post color selection in the editor sidebar for hero styling via CSS.",0,380,"2026-04-03T16:58:00.000Z","6.9.4","5.9","7.3",[18,19,20,21,22],"accessibility","block-editor","color-picker","gutenberg","wcag","https:\u002F\u002Fgithub.com\u002Fmtoensing\u002Fhero-color-picker","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fhero-color-picker.1.0.18.zip",100,null,"2026-04-16T10:56:18.058Z","no_bundle",[],{"slug":31,"display_name":7,"profile_url":8,"plugin_count":32,"total_installs":33,"avg_security_score":34,"avg_patch_time_days":35,"trust_score":36,"computed_at":37},"marcdk",15,10990,95,1,97,"2026-05-19T20:09:00.858Z",[39,62,83,98,113],{"slug":40,"name":41,"version":42,"author":43,"author_profile":44,"description":45,"short_description":46,"active_installs":47,"downloaded":48,"rating":25,"num_ratings":49,"last_updated":50,"tested_up_to":51,"requires_at_least":52,"requires_php":53,"tags":54,"homepage":57,"download_link":58,"security_score":59,"vuln_count":60,"unpatched_count":11,"last_vuln_date":61,"fetched_at":27},"form-block","Form Block","1.7.3","epiphyt","https:\u002F\u002Fprofiles.wordpress.org\u002Fepiphyt\u002F","\u003Cp>WordPress offers several (contact) form plugins, but most of them are not up-to-date anymore when it comes to creating forms. Form Block tackles this problem by utilizing the block editor’s power. It enables you to create a form effortlessly within the block editor itself, which makes the process of creating a form much more enjoyable and similar to creating other types of blocks. This innovative approach to form creation ensures that Form Block stands out from other WordPress form plugins.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Note: This plugins requires the PHP extension \u003Ca href=\"https:\u002F\u002Fwww.php.net\u002Fmanual\u002Fen\u002Fbook.dom.php\" rel=\"nofollow ugc\">“Document Object Model” (php-dom)\u003C\u002Fa>.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Fully support of the block editor\u003C\u002Fli>\n\u003Cli>Built with accessibility in mind\u003C\u002Fli>\n\u003Cli>Create forms with an unlimited number of fields\u003C\u002Fli>\n\u003Cli>Select from a wide variety of field types\u003C\u002Fli>\n\u003Cli>Use a predefined form or start from scratch\u003C\u002Fli>\n\u003Cli>Store form submissions in the WordPress backend\u003C\u002Fli>\n\u003Cli>Integrated honeypot for spam protection\u003C\u002Fli>\n\u003Cli>Integrated knowledge base for field types\u003C\u002Fli>\n\u003Cli>Client-side and server-side validation\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Getting started\u003C\u002Fh4>\n\u003Col>\n\u003Cli>Add the “Form Block” block anywhere you want to enable a form in your block editor.\u003C\u002Fli>\n\u003Cli>Select a predefined form or start from scratch.\u003C\u002Fli>\n\u003Cli>Add\u002FEdit\u002FRemove fields to your form as you like. You can select from input, select and textarea fields.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>After submission, the form data will be sent to the email address you have set in the settings.\u003C\u002Fp>\n\u003Ch4>Coming soon\u003C\u002Fh4>\n\u003Cp>There is much more planned for Form Block. Here is a small selection of features that are coming soon:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Flood Control\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fantispam-bee\u002F\" rel=\"ugc\">Antispam Bee\u003C\u002Fa> integration\u003C\u002Fli>\n\u003Cli>Custom date picker\u003C\u002Fli>\n\u003Cli>More customization options\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Pro version\u003C\u002Fh4>\n\u003Cp>There is also a Pro version of Form Block available. It offers additional features, such as:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Extended server-side validation\u003C\u002Fli>\n\u003Cli>Custom recipient(s) for each form\u003C\u002Fli>\n\u003Cli>Custom form action\u003C\u002Fli>\n\u003Cli>Upload via drag and drop\u003C\u002Fli>\n\u003Cli>Storing files in WordPress instead of attaching them to an email\u003C\u002Fli>\n\u003Cli>Global defined consent checkbox\u003C\u002Fli>\n\u003Cli>Field dependencies\u003C\u002Fli>\n\u003Cli>Advanced functionality for accessibility\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>You can find more information at \u003Ca href=\"https:\u002F\u002Fformblock.pro\u002Fen\u002F\" rel=\"nofollow ugc\">https:\u002F\u002Fformblock.pro\u002Fen\u002F\u003C\u002Fa>.\u003C\u002Fp>\n","An extensive yet user-friendly form block.",200,9524,4,"2026-03-26T19:31:00.000Z","7.0","6.7","7.4",[18,19,55,56,21],"contact-form","form","https:\u002F\u002Fformblock.pro\u002Fen\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fform-block.1.7.3.zip",94,2,"2025-08-07 00:00:00",{"slug":63,"name":64,"version":65,"author":66,"author_profile":67,"description":68,"short_description":69,"active_installs":70,"downloaded":71,"rating":25,"num_ratings":60,"last_updated":72,"tested_up_to":73,"requires_at_least":74,"requires_php":75,"tags":76,"homepage":79,"download_link":80,"security_score":81,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":82},"hover-highlights-editor-highlighting","Hover Highlights – Editor highlighting","1.1.0","Sybre Waaijer","https:\u002F\u002Fprofiles.wordpress.org\u002Fcybr\u002F","\u003Cp>Hover Highlights is a simple WordPress plugin that adds a subtle highlight effect to the Gutenberg\u002FBlock Editor. When you hover over a block, it gets highlighted with a dashed outline and a box-shadow. The highlight disappears when you focus on the block to reduce distraction.\u003C\u002Fp>\n\u003Cp>This plugin is ideal for content creators who want to visually distinguish individual blocks within the Block Editor.\u003C\u002Fp>\n\u003Cp>\u003Cem>The code and this readme are mostly written by ChatGPT.\u003C\u002Fem>\u003C\u002Fp>\n","Adds highlighting on hover with a distraction-free experience for the Gutenberg\u002FBlock Editor.",30,1223,"2025-04-08T08:14:00.000Z","6.8.5","5.8","7.3.0",[77,18,19,78,21],"a11y","blocks","https:\u002F\u002Fgithub.com\u002Fsybrew\u002Fhover-highlights","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fhover-highlights-editor-highlighting.1.1.0.zip",92,"2026-04-06T09:54:40.288Z",{"slug":84,"name":85,"version":86,"author":87,"author_profile":88,"description":89,"short_description":90,"active_installs":91,"downloaded":92,"rating":11,"num_ratings":11,"last_updated":93,"tested_up_to":14,"requires_at_least":52,"requires_php":51,"tags":94,"homepage":96,"download_link":97,"security_score":25,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27},"block-accessibility-checks","Block Accessibility Checks","3.0.2","Troy Chaplin","https:\u002F\u002Fprofiles.wordpress.org\u002Fareziaal\u002F","\u003Cp>\u003Ca href=\"https:\u002F\u002Fblockaccessibilitychecks.com\u002F\" rel=\"nofollow ugc\">Block Accessibility Checks\u003C\u002Fa> is a comprehensive WordPress plugin that proactively prevents accessibility issues in your content before they reach your audience. Designed for the Gutenberg block editor, it provides real-time validation with a three-tier system that ensures your blocks, post meta fields, and overall document structure meet WCAG (Web Content Accessibility Guidelines) requirements.\u003C\u002Fp>\n\u003Cp>Unlike reactive accessibility tools that scan published content, this plugin catches problems during the editing process—giving immediate visual feedback and preventing publication of content with critical accessibility errors. Content creators get clear guidance on what needs fixing, while developers can extend the system with custom checks for blocks, meta fields, and editor-level validation.\u003C\u002Fp>\n\u003Cp>Whether you’re a content creator ensuring your posts are accessible, a developer building accessible blocks, or an organization maintaining compliance standards, Block Accessibility Checks provides the tools you need to create inclusive content effortlessly.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Features for Content Creators & Editors:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Real-time Visual Feedback\u003C\u002Fstrong> – See accessibility issues instantly with color-coded borders (red for errors, yellow for warnings) around problematic blocks and detailed error messages in the block inspector panel\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Smart Publishing Control\u003C\u002Fstrong> – Critical accessibility errors prevent publishing until resolved, while warnings allow publication with user awareness\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Comprehensive Block Coverage\u003C\u002Fstrong> – Built-in validation for images, buttons, tables, headings, and galleries with clear guidance on how to fix issues\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Document-Wide Validation\u003C\u002Fstrong> – Advanced heading hierarchy checking prevents skipped heading levels and ensures proper content structure across your entire post\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Title Validation\u003C\u002Fstrong> – Ensures posts and pages have a title set for accessibility and SEO, validates in real-time as you type\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Intelligent URL Validation\u003C\u002Fstrong> – Real TLD validation using the Public Suffix List ensures only legitimate domains are accepted in button links\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Configurable Settings\u003C\u002Fstrong> – Control which checks are errors (prevent publishing), warnings (allow with notice), or disabled through an intuitive admin interface\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Grouped Error Display\u003C\u002Fstrong> – All accessibility issues shown at once in organized groups, eliminating the “fix one, see another” frustration\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Works Everywhere\u003C\u002Fstrong> – Validation runs in both the post editor and site editor (templates\u002Ftemplate parts) with separate configurable settings\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Features for Developers & Plugin Authors:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Three-Tier Validation API\u003C\u002Fstrong> – Register custom checks for block attributes, post meta fields, and editor-level validation using comprehensive hooks and filters\u003C\u002Fli>\n\u003Cli>\u003Cstrong>JavaScript-Only Validation\u003C\u002Fstrong> – All validation logic runs in JavaScript for real-time editor feedback without server round-trips\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Automatic Settings Integration\u003C\u002Fstrong> – External plugins automatically get their own settings pages under the Block Checks menu\u003C\u002Fli>\n\u003Cli>\u003Cstrong>External Plugin Support\u003C\u002Fstrong> – Works seamlessly with custom blocks from third-party plugins and themes\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Extensive Hook System\u003C\u002Fstrong> – 20+ action and filter hooks for complete customization of registration, validation, and display behavior\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Well-Documented API\u003C\u002Fstrong> – Complete developer documentation with quick start guides and working code examples\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>How It Works:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>The plugin provides immediate feedback as you edit content through a sophisticated three-tier validation system:\u003C\u002Fp>\n\u003Col>\n\u003Cli>\u003Cstrong>Block Validation\u003C\u002Fstrong> – Validates individual block attributes in real-time as you type and edit\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Meta Field Validation\u003C\u002Fstrong> – Checks required post meta fields with automatic post locking when validation fails\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Editor-Level Validation\u003C\u002Fstrong> – Validates document-wide concerns like heading hierarchy that span across multiple blocks\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>When accessibility issues are detected, they are highlighted with visual indicators (red for errors, yellow for warnings) and detailed messages explain how to fix the problems. Critical errors prevent publishing until resolved, while warnings allow publication with user acknowledgment.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Built-in Accessibility Checks:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Button Blocks\u003C\u002Fstrong> – Ensures buttons have descriptive text content and validates link destinations using real TLD validation (Public Suffix List)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Image Blocks\u003C\u002Fstrong> – Requires alt text (unless marked decorative), validates alt text length (warns if exceeding 125 characters), prevents caption duplication, and detects non-descriptive patterns like “image of” or “photo123”\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Table Blocks\u003C\u002Fstrong> – Requires proper headers or captions for screen reader navigation\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Heading Blocks\u003C\u002Fstrong> – Validates proper heading hierarchy across entire document (prevents skipped levels), ensures appropriate first heading level (H2 recommended, H1 allowed with warnings), and provides configurable heading level restrictions (H1, H5, H6 can be disabled)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Gallery Blocks\u003C\u002Fstrong> – Applies comprehensive image accessibility checks to all gallery items (alt text, length, patterns, caption duplication)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Post & Page Title Validation\u003C\u002Fstrong> – Ensures posts and pages have a title set for accessibility and SEO, validates in real-time as users type, prevents publishing content without a title, configurable independently for posts and pages\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Post Meta Fields\u003C\u002Fstrong> – Validate required custom fields with real-time validation, automatic post locking for errors, and seamless integration with block validation system\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Perfect For:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Government websites requiring WCAG compliance\u003C\u002Fli>\n\u003Cli>Educational institutions with accessibility mandates\u003C\u002Fli>\n\u003Cli>Businesses committed to inclusive web content\u003C\u002Fli>\n\u003Cli>Developers building accessible WordPress themes and plugins\u003C\u002Fli>\n\u003Cli>Content teams who want accessibility guidance built into their workflow\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Developer Resources:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Extend the plugin with \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftroychaplin\u002Fblock-accessibility-checks\u002Fblob\u002Fmain\u002Fdocs\u002F\" rel=\"nofollow ugc\">custom accessibility checks\u003C\u002Fa> using the comprehensive validation API. See the complete \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftroychaplin\u002Fblock-accessibility-checks\u002Fblob\u002Fmain\u002Fdocs\u002F\" rel=\"nofollow ugc\">developer documentation\u003C\u002Fa> for quick start guides, API reference, code examples, and a \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftroychaplin\u002Fblock-check-integration-example\" rel=\"nofollow ugc\">working example plugin\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>Getting Involved\u003C\u002Fh3>\n\u003Cp>If you would like to get involved and contribute to the development of this plugin or view it’s source code you can find more information in the \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftroychaplin\u002Fblock-accessibility-checks\" rel=\"nofollow ugc\">plugins GitHub repo\u003C\u002Fa>.\u003C\u002Fp>\n","Prevent WCAG accessibility errors in your content with real-time validation for blocks, meta fields, and document structure.",10,1950,"2026-04-15T03:06:00.000Z",[18,78,21,95,22],"validation","","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fblock-accessibility-checks.3.0.2.zip",{"slug":99,"name":100,"version":101,"author":102,"author_profile":103,"description":104,"short_description":105,"active_installs":11,"downloaded":106,"rating":11,"num_ratings":11,"last_updated":107,"tested_up_to":14,"requires_at_least":108,"requires_php":53,"tags":109,"homepage":96,"download_link":112,"security_score":25,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":82},"crispycohd-advanced-accordion-block","CrispyCohd Advanced Accordion Block","1.0.1","CrispyCohd","https:\u002F\u002Fprofiles.wordpress.org\u002Fcrispycohd\u002F","\u003Cp>CrispyCohd Advanced Accordion Block provides a flexible, block-based accordion for the WordPress editor.\u003C\u002Fp>\n\u003Cp>Built to align with WCAG 2.2 and WAI-ARIA Authoring Practices for accordions.\u003C\u002Fp>\n\u003Cp>The accordion is built using normal blocks:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Header area: add any blocks you want\u003C\u002Fli>\n\u003Cli>Content area: add any blocks you want\u003C\u002Fli>\n\u003Cli>Optional divider between the two\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>The block supports two animation styles, slide and fade.\u003Cbr \u002F>\nIt also supports a built-in caret, a custom SVG, or a custom image for the toggle icon.\u003C\u002Fp>\n\u003Cp>Accessibility is a core focus of the block. The front-end output includes a dedicated toggle button, keyboard navigation, ARIA relationships, and reduced motion support.\u003C\u002Fp>\n","A flexible accordion block that lets you build headers and content using any core or custom blocks.",123,"2026-02-02T14:11:00.000Z","6.5",[18,110,19,111,21],"accordion","faq","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcrispycohd-advanced-accordion-block.1.0.1.zip",{"slug":114,"name":115,"version":116,"author":117,"author_profile":118,"description":119,"short_description":120,"active_installs":11,"downloaded":121,"rating":25,"num_ratings":35,"last_updated":96,"tested_up_to":51,"requires_at_least":15,"requires_php":122,"tags":123,"homepage":96,"download_link":126,"security_score":25,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":127},"lang-attribute-blocks","Language Attribute for Container Blocks and Pages\u002FPosts","3.0","Naked Cat Plugins","https:\u002F\u002Fprofiles.wordpress.org\u002Fnakedcatplugins\u002F","\u003Cp>This plugin aims to ensure that any language change in a page’s content is indicated to assistive technologies at the container block level, helping a website comply with WCAG guidelines.\u003C\u002Fp>\n\u003Cp>This feature is available on the core block editor only at a text formatting level after code from \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Flang-attribute\u002F\" rel=\"ugc\">Jb Audras plugin “Lang Attribute for the Block Editor”\u003C\u002Fa> was merged into core. The objective of this plugin is to provide the same functionality at a container block level (Group – including all its variants, Columns, Cover, and other specific block types) so that the language applies to all child elements, no matter the kind of content inside.\u003C\u002Fp>\n\u003Cp>The plugin also supports setting the language at the page or post level, both on the blocks and classic editor. When an entire page is written in a different language than the website’s default, you can override the HTML \u003Ccode>lang\u003C\u002Fcode> and \u003Ccode>dir\u003C\u002Fcode> attributes for that specific page directly from the Document Settings sidebar, without needing to wrap everything in a container block.\u003C\u002Fp>\n\u003Cp>This plugin is heavily inspired by the Jb Audras plugin (including this readme file). The development started at WordCamp Europe 2025 Contributor Day, by Marco Almeida from \u003Ca href=\"https:\u002F\u002Fprofiles.wordpress.org\u002Fnakedcatplugins\u002F\" rel=\"nofollow ugc\">Naked Cat Plugins\u003C\u002Fa> \u002F \u003Ca href=\"https:\u002F\u002Fprofiles.wordpress.org\u002Fwebdados\u002F\" rel=\"nofollow ugc\">Webdados\u003C\u002Fa>, and the help from \u003Ca href=\"https:\u002F\u002Fprofiles.wordpress.org\u002Fwelcher\u002F\" rel=\"nofollow ugc\">Ryan Welcher\u003C\u002Fa> on the code side and \u003Ca href=\"https:\u002F\u002Fprofiles.wordpress.org\u002Falh0319\u002F\" rel=\"nofollow ugc\">Amber Hinds\u003C\u002Fa> on the accessibility compliance side.\u003C\u002Fp>\n\u003Cp>For more context: this plugin helps you to make your website compliant with the Web Content Accessibility Guidelines (WCAG) success criteria:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>3.1.1 – Language of Page\u003C\u002Fstrong>: The default human language of each web page can be programmatically determined. Use the page-level setting when an entire page or post is written in a language other than the website’s default.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>3.1.2 – Language of Parts\u003C\u002Fstrong>: The human language of each passage or phrase in the content can be programmatically determined. Use the block-level setting when only specific sections within a page are in a different language.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>The purpose of these success criteria is to ensure that user agents can correctly present content written in multiple languages.\u003C\u002Fp>\n\u003Cp>Keep in mind that you should set the \u003Ccode>lang\u003C\u002Fcode> and \u003Ccode>dir\u003C\u002Fcode> attributes only on a container block or page if the content is written in a language different from the one set globally on your website.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>As per Web Content Accessibility Guidelines:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>This enables user agents and assistive technologies to present content according to the presentation and pronunciation rules of that language. This applies to graphical browsers, screen readers, braille displays, and other voice browsers.\u003C\u002Fp>\n\u003Cp>Both assistive technologies and conventional user agents can render text more accurately if the language of each passage of text is identified. Screen readers can use the language’s pronunciation rules. Visual browsers can display characters and scripts appropriately.\u003C\u002Fp>\n\u003Cp>This is especially important when switching between languages that read from left to right and languages that read from right to left, or when text is rendered in a language that uses a different alphabet. Users with disabilities who know all the languages used in the Web page will be better able to understand the content when each passage is rendered appropriately.\u003C\u002Fp>\n\u003Cp>That’s not just good for accessibility. It’s also great for SEO. Search engines like Google can better understand your content when languages are clearly defined. That means improved indexing and potentially better rankings.\u003C\u002Fp>\n\u003Cp>Banner photo by \u003Ca href=\"https:\u002F\u002Funsplash.com\u002F@hannahwrightdesigner?utm_content=creditCopyText&utm_medium=referral&utm_source=unsplash\" rel=\"nofollow ugc\">Hannah Wright\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>Supported block types\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Group\u003C\u002Fstrong> (\u003Ccode>core\u002Fgroup\u003C\u002Fcode>): Group contents together and set a language for them\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Columns\u003C\u002Fstrong> (\u003Ccode>core\u002Fcolumns\u003C\u002Fcode> and \u003Ccode>core\u002Fcolumn\u003C\u002Fcode>): Organize content into a set of columns and set a language for all the columns or a specific column\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Cover\u003C\u002Fstrong> (\u003Ccode>core\u002Fcover\u003C\u002Fcode>): Set the language to all the contents inside a cover block\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Navigation\u003C\u002Fstrong> (\u003Ccode>core\u002Fnavigation\u003C\u002Fcode>): Create full navigation menus in different languages\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Submenu\u003C\u002Fstrong> (\u003Ccode>core\u002Fnavigation-submenu\u003C\u002Fcode>): Set a different language on a sub-section of your menu (for example, if you have the default language pages on the first level and a sub-menu with pages in another language)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Page List\u003C\u002Fstrong> (\u003Ccode>core\u002Fpage-list\u003C\u002Fcode>): List all the pages on your website that are written in a different language and created as a child of the main page of that language\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Content\u003C\u002Fstrong> (\u003Ccode>core\u002Fpost-content\u003C\u002Fcode>): Set the post content on a custom template to a different language\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Set the language and text direction for an entire page or post, both on the blocks and classic editor: a “Page Language” panel in the Document Settings sidebar overrides the HTML \u003Ccode>lang\u003C\u002Fcode> and \u003Ccode>dir\u003C\u002Fcode> attributes for that specific page\u003C\u002Fli>\n\u003Cli>Add \u003Ccode>lang\u003C\u002Fcode> and \u003Ccode>dir\u003C\u002Fcode> attributes to Group, Columns, Cover, and other specific WordPress Blocks, mentioned above\u003C\u002Fli>\n\u003Cli>Show visual outline around blocks that have a language attribute set – For easy identification of blocks you have already set to a different language during your editing process, only for Administrators and Editors, and if enabled in Settings – Writing\u003C\u002Fli>\n\u003C\u002Ful>\n","Add lang and dir attributes to Group, Columns, Cover, and other specific WordPress Blocks, or to the whole page\u002Fpost.",612,"7.2",[18,19,124,21,125],"classic-editor","language","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Flang-attribute-blocks.3.0.zip","2026-03-15T10:48:56.248Z",{"attackSurface":129,"codeSignals":154,"taintFlows":162,"riskAssessment":163,"analyzedAt":169},{"hooks":130,"ajaxHandlers":150,"restRoutes":151,"shortcodes":152,"cronEvents":153,"entryPointCount":11,"unprotectedCount":11},[131,137,141,144,147],{"type":132,"name":133,"callback":134,"file":135,"line":136},"filter","views_edit-post","closure","hero-color-picker.php",27,{"type":138,"name":139,"callback":134,"file":135,"line":140},"action","pre_get_posts",75,{"type":138,"name":142,"callback":134,"file":135,"line":143},"init",106,{"type":138,"name":145,"callback":134,"file":135,"line":146},"enqueue_block_editor_assets",142,{"type":138,"name":148,"callback":134,"file":135,"line":149},"wp_head",170,[],[],[],[],{"dangerousFunctions":155,"sqlUsage":156,"outputEscaping":158,"fileOperations":11,"externalRequests":11,"nonceChecks":11,"capabilityChecks":60,"bundledLibraries":161},[],{"prepared":11,"raw":11,"locations":157},[],{"escaped":159,"rawEcho":11,"locations":160},8,[],[],[],{"summary":164,"deductions":165},"The hero-color-picker plugin, version 1.0.18, exhibits a strong security posture based on the provided static analysis and vulnerability history. The code analysis reveals no dangerous functions, no raw SQL queries, and all identified outputs are properly escaped. The absence of file operations and external HTTP requests further minimizes potential attack vectors. Importantly, the plugin implements capability checks, which is a good practice for securing administrative functions.\n\nThe taint analysis shows zero flows with unsanitized paths, indicating that data inputs are not being mishandled in a way that could lead to vulnerabilities like cross-site scripting or path traversal. The vulnerability history is also clean, with no recorded CVEs of any severity. This lack of historical vulnerabilities, coupled with the positive static analysis results, suggests that the plugin is likely well-maintained and developed with security in mind.\n\nOverall, the plugin appears to be secure and well-implemented. The absence of any identified attack surface points (AJAX handlers, REST API routes, shortcodes, cron events) that lack authentication checks is a significant strength. The only minor point of consideration is the absence of nonce checks. While not a direct vulnerability in this instance due to the zero attack surface, it's generally a best practice for any plugin that might introduce interactive elements in the future.",[166],{"reason":167,"points":168},"No nonce checks implemented",3,"2026-04-16T15:00:07.118Z",{"wat":171,"direct":179},{"assetPaths":172,"generatorPatterns":175,"scriptPaths":176,"versionParams":177},[173,174],"\u002Fwp-content\u002Fplugins\u002Fhero-color-picker\u002Fbuild\u002Findex.asset.php","\u002Fwp-content\u002Fplugins\u002Fhero-color-picker\u002Fbuild\u002Findex.js",[],[174],[178],"hero-color-picker-editor",{"cssClasses":180,"htmlComments":182,"htmlAttributes":183,"restEndpoints":184,"jsGlobals":186,"shortcodeOutput":187},[181],"hero-colored",[],[],[185],"\u002Fwp-json\u002Fhero-color-picker",[],[],{"error":189,"url":190,"statusCode":191,"statusMessage":192,"message":192},true,"http:\u002F\u002Flocalhost\u002Fapi\u002Fplugins\u002Fhero-color-picker\u002Fbundle",404,"no bundle for this plugin yet",{"slug":4,"current_version":6,"total_versions":194,"versions":195},11,[196,202,209,216,223,230,237,244,251,258,265],{"version":6,"download_url":24,"svn_tag_url":197,"released_at":26,"has_diff":198,"diff_files_changed":199,"diff_lines":26,"trac_diff_url":200,"vulnerabilities":201,"is_current":189},"https:\u002F\u002Fplugins.svn.wordpress.org\u002Fhero-color-picker\u002Ftags\u002F1.0.18\u002F",false,[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fhero-color-picker%2Ftags%2F1.0.17&new_path=%2Fhero-color-picker%2Ftags%2F1.0.18",[],{"version":203,"download_url":204,"svn_tag_url":205,"released_at":26,"has_diff":198,"diff_files_changed":206,"diff_lines":26,"trac_diff_url":207,"vulnerabilities":208,"is_current":198},"1.0.17","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fhero-color-picker.1.0.17.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fhero-color-picker\u002Ftags\u002F1.0.17\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fhero-color-picker%2Ftags%2F1.0.16&new_path=%2Fhero-color-picker%2Ftags%2F1.0.17",[],{"version":210,"download_url":211,"svn_tag_url":212,"released_at":26,"has_diff":198,"diff_files_changed":213,"diff_lines":26,"trac_diff_url":214,"vulnerabilities":215,"is_current":198},"1.0.16","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fhero-color-picker.1.0.16.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fhero-color-picker\u002Ftags\u002F1.0.16\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fhero-color-picker%2Ftags%2F1.0.15&new_path=%2Fhero-color-picker%2Ftags%2F1.0.16",[],{"version":217,"download_url":218,"svn_tag_url":219,"released_at":26,"has_diff":198,"diff_files_changed":220,"diff_lines":26,"trac_diff_url":221,"vulnerabilities":222,"is_current":198},"1.0.15","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fhero-color-picker.1.0.15.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fhero-color-picker\u002Ftags\u002F1.0.15\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fhero-color-picker%2Ftags%2F1.0.14&new_path=%2Fhero-color-picker%2Ftags%2F1.0.15",[],{"version":224,"download_url":225,"svn_tag_url":226,"released_at":26,"has_diff":198,"diff_files_changed":227,"diff_lines":26,"trac_diff_url":228,"vulnerabilities":229,"is_current":198},"1.0.14","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fhero-color-picker.1.0.14.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fhero-color-picker\u002Ftags\u002F1.0.14\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fhero-color-picker%2Ftags%2F1.0.13&new_path=%2Fhero-color-picker%2Ftags%2F1.0.14",[],{"version":231,"download_url":232,"svn_tag_url":233,"released_at":26,"has_diff":198,"diff_files_changed":234,"diff_lines":26,"trac_diff_url":235,"vulnerabilities":236,"is_current":198},"1.0.13","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fhero-color-picker.1.0.13.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fhero-color-picker\u002Ftags\u002F1.0.13\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fhero-color-picker%2Ftags%2F1.0.12&new_path=%2Fhero-color-picker%2Ftags%2F1.0.13",[],{"version":238,"download_url":239,"svn_tag_url":240,"released_at":26,"has_diff":198,"diff_files_changed":241,"diff_lines":26,"trac_diff_url":242,"vulnerabilities":243,"is_current":198},"1.0.12","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fhero-color-picker.1.0.12.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fhero-color-picker\u002Ftags\u002F1.0.12\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fhero-color-picker%2Ftags%2F1.0.11&new_path=%2Fhero-color-picker%2Ftags%2F1.0.12",[],{"version":245,"download_url":246,"svn_tag_url":247,"released_at":26,"has_diff":198,"diff_files_changed":248,"diff_lines":26,"trac_diff_url":249,"vulnerabilities":250,"is_current":198},"1.0.11","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fhero-color-picker.1.0.11.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fhero-color-picker\u002Ftags\u002F1.0.11\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fhero-color-picker%2Ftags%2F1.0.10&new_path=%2Fhero-color-picker%2Ftags%2F1.0.11",[],{"version":252,"download_url":253,"svn_tag_url":254,"released_at":26,"has_diff":198,"diff_files_changed":255,"diff_lines":26,"trac_diff_url":256,"vulnerabilities":257,"is_current":198},"1.0.10","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fhero-color-picker.1.0.10.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fhero-color-picker\u002Ftags\u002F1.0.10\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fhero-color-picker%2Ftags%2F1.0.9&new_path=%2Fhero-color-picker%2Ftags%2F1.0.10",[],{"version":259,"download_url":260,"svn_tag_url":261,"released_at":26,"has_diff":198,"diff_files_changed":262,"diff_lines":26,"trac_diff_url":263,"vulnerabilities":264,"is_current":198},"1.0.9","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fhero-color-picker.1.0.9.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fhero-color-picker\u002Ftags\u002F1.0.9\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fhero-color-picker%2Ftags%2F1.0.8&new_path=%2Fhero-color-picker%2Ftags%2F1.0.9",[],{"version":266,"download_url":267,"svn_tag_url":268,"released_at":26,"has_diff":198,"diff_files_changed":269,"diff_lines":26,"trac_diff_url":26,"vulnerabilities":270,"is_current":198},"1.0.8","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fhero-color-picker.1.0.8.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fhero-color-picker\u002Ftags\u002F1.0.8\u002F",[],[]]