Progressive Disclosure

Progressive disclosure is a design pattern where forms start simple and reveal additional fields only when relevant. This keeps forms clean and focused while capturing all necessary data.

circle-check

Why Progressive Disclosure Matters

The Problem

Long, cluttered forms overwhelm users and lead to incomplete or incorrect data.

Users face dozens of fields they don't need, making it hard to focus on what matters.

The Solution

Show fields only when they're needed. Users see a focused form that adapts to their choices.

Forms become intelligent guides instead of overwhelming questionnaires.

Benefits:

⚡ Faster Completion

Users aren't distracted by irrelevant fields. They complete forms quicker with fewer decision points.

✅ Better Data Quality

Users fill fields when they understand the context. Right information at the right time.

🎯 Reduced Errors

Fewer fields mean fewer opportunities for mistakes. Simpler forms = fewer errors.

😊 Improved Experience

Adaptive forms feel intelligent and helpful. Users appreciate forms that respond to their needs.


Basic Pattern: Show Field When Condition Met

The simplest progressive disclosure rule shows a field when a specific condition is true.

Example 1: Root Cause for High-Priority Bugs

circle-info

Requirement: Show Root Cause field only for high-priority bugs

Rule Configuration:

  • Screen: Global Issue Create

  • Target Field: Root Cause

  • Scope: Bug

  • Condition: Priority = High OR Priority = Critical

  • Action: Show field

User Experience:

  1. User creates Bug with Priority = Low → Root Cause hidden

  2. User changes Priority to High → Root Cause appears instantly

  3. Form stays clean for routine bugs while capturing analysis for critical issues

circle-check

Issue Type-Specific Fields

Different issue types need different data. Progressive disclosure ensures each type shows only relevant fields.

Example 2: Bug-Specific Fields

Requirement: Show "Steps to Reproduce" only for Bug issues

Rule Configuration:

  • Screen: Global Issue Create

  • Target Field: Steps to Reproduce

  • Scope: Bug

  • Condition: (none - applies to all Bugs)

  • Action: Show field

Alternative: If the field should show for Bugs AND Incidents:

  • Scope: Bug, Incident

User Experience:

  • Bug issues → Steps to Reproduce visible

  • Story/Task issues → Steps to Reproduce hidden


Multi-Condition Progressive Disclosure

Combine multiple conditions to show fields in very specific contexts.

Example 3: Executive Contact for Critical Production Incidents

Requirement: Show Executive Contact field for critical incidents in production, but only to non-leadership users

Rule Configuration:

  • Screen: Global Issue Create

  • Target Field: Executive Contact

  • Scope: Incident

  • Conditions:

    • Priority = Critical

    • Component contains "Production"

    • User NOT in group "Leadership"

  • Action: Show field

Why it works:

  • Priority + Component: Targets critical production incidents specifically

  • User group: Leadership already knows who to contact; field only shows to team members who need guidance

User Experience:

  • Regular team member creating critical production incident → Executive Contact appears

  • Leadership creating same incident → Field stays hidden (they don't need it)


Cascading Disclosure

Show fields in sequence as users provide information, creating a guided workflow.

Example 4: Budget Fields for High-Cost Features

circle-info

Requirement:

  1. Show "Estimated Cost" when Feature issue type selected

  2. Show "Budget Code" and "Finance Approval" when Estimated Cost > $10,000

1

Rule 1: Show Estimated Cost

  • Screen: Global Issue Create

  • Target Field: Estimated Cost

  • Scope: Feature

  • Action: Show field

Trigger: Feature issue type selected

2

Rule 2: Show Budget Code

  • Screen: Global Issue Create

  • Target Field: Budget Code

  • Scope: Feature

  • Condition: Estimated Cost > 10000

  • Action: Show field

Trigger: Cost exceeds $10,000 threshold

3

Rule 3: Show Finance Approval

  • Screen: Global Issue Create

  • Target Field: Finance Approval

  • Scope: Feature

  • Condition: Estimated Cost > 10000

  • Action: Show field

Trigger: Cost exceeds $10,000 threshold

User Experience Flow:

  1. User selects Issue Type = Feature

  2. Estimated Cost appears

  3. User enters $5,000

  4. Budget fields stay hidden (under threshold)

Result: Simple form for routine features.

circle-check

Practical Use Cases

Real-world examples organized by team type:

Component-Specific Fields

Show "API Endpoint" field only for Backend Bug issues:

  • Scope: Bug

  • Condition: Component = Backend

  • Action: Show API Endpoint field

Result: Backend developers see relevant debugging information without cluttering forms for frontend work.


Show "UI Screenshot" field only for Frontend Bug issues:

  • Scope: Bug

  • Condition: Component = Frontend

  • Action: Show UI Screenshot field

Result: Frontend bugs automatically prompt for visual evidence, while backend bugs don't show irrelevant screenshot fields.

circle-check

Best Practices

Begin with Basic Rules

Begin with basic show/hide rules. Add complexity only when needed.

circle-check
circle-exclamation

Common Patterns

Reusable patterns for progressive disclosure:

Type-Specific Fields

Show fields relevant to specific issue types.

Example: Scope: Bug Action: Show "Steps to Reproduce" When to use: Different issue types need different data (Bugs vs Stories vs Tasks)

Value-Triggered Fields

Show fields when another field reaches a threshold.

Example: Condition: Priority = High OR Priority = Critical Action: Show "Root Cause" When to use: Collect additional details for high-impact items

Role-Based Disclosure

Show sensitive fields only to authorized users.

Example: Condition: User in group "Finance" Action: Show "Budget Information" When to use: Protect confidential data from unauthorized access

Status-Based Disclosure

Show fields relevant to workflow stage.

Example: Condition: Status = In Review Action: Show "Review Comments" When to use: Adapt forms to workflow stages (draft vs review vs done)


Troubleshooting

chevron-right"Field doesn't appear when I expect it"hashtag

Common causes:

  • Field isn't added to the Jira screen configuration

  • Scope doesn't match the issue type you're testing

  • Not all conditions are met

  • Rule is disabled

Solution:

  1. Verify field is on the screen: Project Settings → Screens

  2. Check rule scope matches your test issue type

  3. Review all conditions - ALL must be met (AND logic between types)

  4. Confirm rule is enabled in the rules list

circle-info

Debug tip: Temporarily remove all conditions to see if the field appears. Then add conditions back one by one to identify which condition is blocking.

chevron-right"Field appears but then disappears unexpectedly"hashtag

Common causes:

  • Changed a field value that affects the condition

  • Conflicting rules on the same target field

  • Browser cache issue

Solution:

  1. Review what you changed - did it affect a condition?

  2. Check all rules affecting this target field

  3. Ensure rules work together logically (no conflicts)

  4. Refresh browser and test again

circle-exclamation
chevron-right"User says field is missing but should be visible"hashtag

Common causes:

  • User's issue type doesn't match scope

  • User's selections don't meet conditions

  • User-based condition excludes them

  • User is on wrong screen

Solution:

  1. Verify user's issue type matches rule scope

  2. Check user's field selections against conditions

  3. Review user-based conditions (groups, roles, permissions)

  4. Confirm user is on the correct screen (Create vs View vs Transition)

  5. Test with same issue type, selections, and user role to reproduce

circle-check

Progressive disclosure works powerfully when combined with other patterns:


Next Steps

Choose your path to implementing progressive disclosure:

circle-check

Last updated