Skip to content

Define ownership boundaries across frontend, accessibility, HTML, styling, and design checks #68

Description

@serge-ivo

Problem

Frontend-related checks are currently split across several runners, but their ownership boundaries are not explicit enough to prevent duplicated or confusing findings.

Relevant checks from cli/src/core.ts and schema/src/check-meta.ts include:

  • react
  • accessibility
  • html-quality
  • frontend-health
  • styling
  • design-consistency

Evidence from existing runners:

  • react includes framework-specific patterns and XSS-style checks.
  • accessibility inspects a11y concerns that may overlap JSX/static HTML parsing.
  • html-quality checks static HTML metadata, headings, images, scripts, and SEO-like rules.
  • frontend-health checks mixed frameworks/icon libraries, loading states, DOM nesting, image optimization, heavy imports, and inline base64.
  • styling checks Stylelint/CSS, mixed styling approaches, hardcoded colors, spacing scale, !important, duplicate Tailwind strings, and inline styles.
  • design-consistency is a pro/AI-style check with separate availability semantics.

PAGS reports exposed this as multiple frontend-like categories producing separate issue counts without a clear rule for which check owns JSX, static HTML artifacts, screenshot HTML, styling policy, accessibility, and design consistency.

Why this belongs in VCQA

This is analyzer ownership and taxonomy inside VCQA. App repos can fix individual findings, but they cannot make the frontend check family internally coherent.

Proposed ownership model

Suggested boundaries:

  • react: React correctness, hooks, component safety, React-specific APIs.
  • security: XSS and dangerous sinks, with React-specific context from react if needed.
  • accessibility: semantic and ARIA accessibility only.
  • html-quality: static HTML documents intended for delivery, not JSX comments, screenshots, generated fixtures, or framework templates unless configured.
  • frontend-health: product/runtime UX health such as loading/error/empty states and asset delivery.
  • styling: CSS/Tailwind/style-system policy only.
  • design-consistency: optional/pro visual consistency analysis, clearly separated from deterministic frontend checks.

Acceptance criteria

  • Each frontend-related rule has one canonical owner.
  • Cross-runner duplicate findings are suppressed or linked.
  • Static artifact and generated-file exclusions apply consistently across all frontend checks.
  • Docs explain which frontend check to configure or suppress for each class of finding.
  • Regression fixtures cover JSX, static HTML, generated screenshot HTML, Tailwind, CSS modules, and sanitizer-backed React rendering.

Related issues

Related but not a duplicate:

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestframework-analyzerFramework/language-specific analyzer work

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions