For AI agents: the complete documentation index is available at https://a3s-lab.github.io/UI/v0.2.0/en/llms.txt, the full documentation bundle is available at https://a3s-lab.github.io/UI/v0.2.0/en/llms-full.txt, and this page is available as Markdown at https://a3s-lab.github.io/UI/v0.2.0/en/components/ribbon.md.
  • English
  • v0.2.0
  • Ribbon

    A Ribbon combines tab navigation with grouped application commands. The pattern is extracted from A3S Office and generalized for editors, topology tools, and operational workbenches.

    Live previewHTML · CSS · JavaScript
    Clipboard
    Font
    Paragraph

    Document canvas

    Usage

    Load the Tabs controller and combine ribbon with tabs.

    <div class="ribbon tabs" data-accent="blue">
      <div role="tablist" aria-label="Editor commands">...</div>
      <div role="tabpanel">
        <fieldset data-ribbon-group>
          <legend>Clipboard</legend>
          ...
        </fieldset>
      </div>
    </div>

    Parameters

    ParameterValuesDefaultPurpose
    data-accentblue, green, orange, purpleblueProduct or document-kind accent
    role="tablist"RequiredTab navigation container
    aria-selectedtrue, falseRequiredActive tab state
    aria-controls / aria-labelledbyElement IDsRequiredAssociates tabs and panels
    data-ribbon-groupRequiredCommand group layout
    data-ribbon-controlsRecommendedAligns commands above the group legend
    --ribbon-tabs-heightCSS length2.25remFixed tab-strip height
    --ribbon-panel-heightCSS length4.625remFixed command-panel height
    --ribbon-group-heightCSS length4.0625remFixed command-group height

    States and variants

    Blue suits documents and general workspaces, green suits spreadsheets or healthy operations, orange suits presentations, and purple suits agent workflows. Disabled tabs and commands use native disabled. The default 36-pixel tab strip and 74-pixel command panel match A3S Office; compact viewports keep tabs unshrunk and scroll them horizontally.

    JavaScript API

    Ribbon behavior comes from the Tabs controller. window.a3sUI.refresh(ribbon) rescans dynamically added tabs. No Ribbon-specific JavaScript is required.

    Accessibility

    Use the complete Tabs keyboard contract. Group commands with <fieldset> and a visible or screen-reader-only <legend>. If a ribbon becomes too dense, allow horizontal scrolling rather than shrinking labels below a readable size.