Skip to content

feature(website): allow users to correct accidental page feedback #4473

Description

@HarshPopat23

What would you like to be added

Allow a visitor to correct an accidental response to the “Was this page helpful?” question.

Currently, clicking Yes or No immediately disables both buttons for the remainder of the page load. If a visitor selects the wrong response, the UI provides no way to change it. Reloading the page re-enables the controls, but that would create another analytics event rather than correcting the original interaction.

I propose the following behavior:

  1. After the first response, visually show the selected answer and provide a Change response action.
  2. Allow one correction during the same page view: Yes -> No or No -> Yes.
  3. Do not attempt to delete or replace the first GA4 event. Instead, emit one explicit page_helpful_changed event containing:
  •       page_path
    
  •       previous_value
    
  •       new_value
    

4.After the correction, disable further changes for that page view to avoid repeated toggling and noisy analytics.
5.Update the visible response correctly: show the GitHub feedback link only when the final selection is No.

This should be implemented after, or coordinated with, PR #4457, which migrates the existing feedback event from the legacy ga() API to GA4 gtag().

Why is this needed

Accidental clicks currently cannot be corrected, which creates a confusing user experience and can make documentation-quality measurements less accurate.

GA4 records interactions as events; the website has no backend vote record or stable vote ID that can be updated. Recording a separate, bounded correction event is therefore more accurate and implementable than claiming the earlier event was removed. Corrected aggregate totals can be calculated using the initial votes and the Yes -> No or No -> Yes. correction counts.

I recommend allowing one correction rather than unlimited changes because unlimited toggling would create unnecessary analytics events and make the feedback easier to spam.

Acceptance criteria

  • A visitor can change Yes -> No or No -> Yes once per page view.
  • Re-selecting the current answer does not emit another event.
  • A page view emits at most one initial feedback event and one correction event.
  • The selected state and Change response control are keyboard accessible and understandable to screen readers.
  • The No response and GitHub issue link are shown only when No is the current selection.
  • The UI still behaves safely when gtag() is unavailable.
  • Tests cover the initial vote, both correction directions, duplicate-click prevention, and the no-analytics fallback.

Page to update

All documentation pages that render the feedback partial.
Implementation file: [layouts/partials/feedback.html](https://github.com/kubeflow/website/blob/master/layouts/partials/feedback.html)

Component/Kubeflow Version: Website master

Labels
/area website

Love this idea? Give it a 👍.

Sources used for verification

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions