As far as best practices are concerned, should user be able to scroll the page while a modal is active?

  • This is really broad. Is there a specific example of this that you could ask about?
    – elemjay19
    Commented May 24, 2013 at 21:04
  • If you can guarantee the modal will always fit within the confines of the current viewport, then no. If not, yes.
    – DA01
    Commented May 25, 2013 at 3:54

3 Answers 3


The entire point of a modal is that the user needs to focus on that task before doing anything else.

Modality is most appropriate when:

  • It’s critical to get the user’s attention.

  • A task must be completed (or explicitly abandoned) to avoid leaving the user’s data in an ambiguous state.

Considering this, I would say it would be counter intuitive to let the user perform any action outside of the modal. If you still feel the need for letting the user work in the background, then you should re-evaluate the need for a modal.

I pulled the guideline for modal from the iOS HIG, but, it is applicable even in web scenario.


In normal modal use, the page behind is currently "out of scope" for the task at hand and should be considered inactive.

If your modal requires visibility to the page behind, it probably shouldn't be a modal. Consider expanding the content directly onto the page instead.


If there is scrollable content within the modal dialog box, then no, scrolling should be disabled in the main window. (This is to avoid double scrolling from the user having their cursor in the wrong place.)

If there is no scrollable content, then I think it depends on the context. If there's something asking me to sign up or preventing me from proceeding without taking action in the modal, being able to scroll is nice. It allows users to get a "sneak peek" of what they can see if they were to follow your CTA.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.