<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://community.appian.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Scroll to top when navigate through interfaces</title><link>https://community.appian.com/discussions/f/user-interface/39462/scroll-to-top-when-navigate-through-interfaces</link><description>I am not sure it is a basic or i am missing a point . 
 We&amp;#39;re working with a multi-interface navigation in Appian (6 interfaces navigated via buttons). When a user clicks a button to go to the next interface, the interface loads correctly, but the page</description><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><item><title>RE: Scroll to top when navigate through interfaces</title><link>https://community.appian.com/thread/150044?ContentTypeID=1</link><pubDate>Thu, 17 Jul 2025 06:51:46 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:a821de4c-120e-4e73-8acd-758825051a15</guid><dc:creator>gauravp013908</dc:creator><description>&lt;p&gt;Thank you for replying, We are on 25.2 .&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Scroll to top when navigate through interfaces</title><link>https://community.appian.com/thread/150041?ContentTypeID=1</link><pubDate>Thu, 17 Jul 2025 06:18:34 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:eb942c49-5253-49de-ab3f-409e25f4b5fd</guid><dc:creator>Stefan Helzle</dc:creator><description>&lt;p&gt;What Appian version is this? I did not test it with the all new formLayout.&lt;/p&gt;
&lt;p&gt;In our review app, I use a paneLayout. Each section is a separate pane. Below some screenshots of the scrolling behaviour:&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:240px;max-width:320px;" src="/resized-image/__size/640x480/__key/communityserver-discussions-components-files/13/pastedimage1752733027753v1.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;Scrolling down&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:240px;max-width:320px;" src="/resized-image/__size/640x480/__key/communityserver-discussions-components-files/13/pastedimage1752733042473v2.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;Going to next section with scroll position on top&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:240px;max-width:320px;" src="/resized-image/__size/640x480/__key/communityserver-discussions-components-files/13/pastedimage1752733071408v3.png" alt=" " /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Scroll to top when navigate through interfaces</title><link>https://community.appian.com/thread/150031?ContentTypeID=1</link><pubDate>Thu, 17 Jul 2025 02:45:44 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:54bc781b-6711-48bd-a8d2-0364f5c0d486</guid><dc:creator>Shubham Aware</dc:creator><description>&lt;p&gt;I&amp;#39;m interested to see if automatic vertical scrolling to the top happens.&lt;br /&gt;Keep me posted&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Scroll to top when navigate through interfaces</title><link>https://community.appian.com/thread/150029?ContentTypeID=1</link><pubDate>Thu, 17 Jul 2025 01:14:54 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:5eb20a4e-9d8b-4f7d-b067-d26d4bc2cc7e</guid><dc:creator>gauravp013908</dc:creator><description>&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;a!localVariables(
  local!activeStep: 1,
  local!text,
  local!checkbox,
  local!paragraph,
  local!steps: {&amp;quot;Basic Info&amp;quot;, &amp;quot;Additional Info&amp;quot;, &amp;quot;Review&amp;quot;},
  if(
    local!activeStep = 1,
    a!formLayout(
      formWidth: &amp;quot;MEDIUM&amp;quot;,
      label: &amp;quot;Example: Onboarding Wizard&amp;quot;,
      contents: {
        a!columnsLayout(
          columns: {
            a!columnLayout(
              contents: {
                a!milestoneField(
                  label: &amp;quot;Wizzard&amp;quot;,
                  steps: {
                    &amp;quot;Step 1&amp;quot;, 
                    &amp;quot;Step 2&amp;quot; 
                  },
                  active: local!activeStep,
                  color: &amp;quot;ACCENT&amp;quot;
                )
              }
            )
          },
          marginBelow: &amp;quot;STANDARD&amp;quot;,
          stackWhen: {
            &amp;quot;PHONE&amp;quot; },
          showDividers: false
        ),
        a!sectionLayout(
          label: if(
            /* This logic hides the step name at the top of the form on PHONE widths 
                  since the step label is already displayed at the top when the screen is narrow */
            a!isPageWidth(pageWidths: { &amp;quot;PHONE&amp;quot; }),
            &amp;quot;&amp;quot;,
            /* This uses local!activeStep as the index of local!steps to display the name of the current step */
            local!steps[local!activeStep]
          ),
          labelSize: &amp;quot;MEDIUM&amp;quot;,
          labelColor: &amp;quot;STANDARD&amp;quot;,
          contents: {
            a!textField(
              label: &amp;quot;Text Box Label&amp;quot;,
              value: local!text,
              saveInto: local!text

            ),
            a!textField(
              label: &amp;quot;Text Box Label&amp;quot;,
              value: local!text,
              saveInto: local!text

            ),
            a!textField(
              label: &amp;quot;Text Box Label&amp;quot;,
              value: local!text,
              saveInto: local!text

            ),
            a!textField(
              label: &amp;quot;Text Box Label&amp;quot;,
              value: local!text,
              saveInto: local!text

            ),
            a!paragraphField(value:local!paragraph,height: &amp;quot;TALL&amp;quot;),
            a!paragraphField(value:local!paragraph,height: &amp;quot;TALL&amp;quot;),
            a!paragraphField(value:local!paragraph,height: &amp;quot;TALL&amp;quot;),
            a!paragraphField(value:local!paragraph,height: &amp;quot;TALL&amp;quot;)
          },
          marginAbove: &amp;quot;STANDARD&amp;quot;
        )
      },
      buttons: a!buttonLayout(
        primaryButtons: {
          a!buttonWidget(
            label: &amp;quot;Next&amp;quot;,
            value: local!activeStep + 1,
            saveInto: local!activeStep,
            style: &amp;quot;SOLID&amp;quot;,
            showWhen: or(local!activeStep = { 1, 2 }),
            validate: true
          ),
          a!buttonWidget(
            label: &amp;quot;Onboard Employee&amp;quot;,
            submit: true,
            style: &amp;quot;SOLID&amp;quot;,
            showWhen: local!activeStep = 3
          )
        },
        secondaryButtons: {
          a!buttonWidget(
            label: &amp;quot;Back&amp;quot;,
            value: local!activeStep - 1,
            saveInto: local!activeStep,
            showWhen: or(local!activeStep = { 2, 3 })
          )
        }
      )
    ),
    if(
      local!activeStep = 2,
      a!formLayout(
        formWidth: &amp;quot;MEDIUM&amp;quot;,
        label: &amp;quot;Example: Onboarding Wizard&amp;quot;,
        contents: {
          a!columnsLayout(
            columns: {
              a!columnLayout(
                contents: {
                  a!milestoneField(
                    label: &amp;quot;Wizzard&amp;quot;,
                    steps: {
                      &amp;quot;Step 1&amp;quot;, 
                      &amp;quot;Step 2&amp;quot; 
                    },
                    active: local!activeStep,
                    color: &amp;quot;ACCENT&amp;quot;
                  )
                }
              )
            },
            marginBelow: &amp;quot;STANDARD&amp;quot;,
            stackWhen: { &amp;quot;PHONE&amp;quot; }
          ),
          a!sectionLayout(
            label: if(
              /* This logic hides the step name at the top of the form on PHONE widths 
                  since the step label is already displayed at the top when the screen is narrow */
              a!isPageWidth(pageWidths: { &amp;quot;PHONE&amp;quot; }),
              &amp;quot;&amp;quot;,
              /* This uses local!activeStep as the index of local!steps to display the name of the current step */
              local!steps[local!activeStep]
            ),
            labelSize: &amp;quot;MEDIUM&amp;quot;,
            labelColor: &amp;quot;STANDARD&amp;quot;,
            contents: {
              a!checkboxField(
                label: &amp;quot;CheckBox Label&amp;quot;,
                choiceLabels: { &amp;quot;Yes&amp;quot;, &amp;quot;No&amp;quot; },
                choiceValues: { &amp;quot;Yes&amp;quot;, &amp;quot;No&amp;quot; },
                value: local!checkbox,
                saveInto: local!checkbox
              ),
              a!checkboxField(
                label: &amp;quot;CheckBox Label&amp;quot;,
                choiceLabels: { &amp;quot;Yes&amp;quot;, &amp;quot;No&amp;quot; },
                choiceValues: { &amp;quot;Yes&amp;quot;, &amp;quot;No&amp;quot; },
                value: local!checkbox,
                saveInto: local!checkbox
              ),
              a!checkboxField(
                label: &amp;quot;CheckBox Label&amp;quot;,
                choiceLabels: { &amp;quot;Yes&amp;quot;, &amp;quot;No&amp;quot; },
                choiceValues: { &amp;quot;Yes&amp;quot;, &amp;quot;No&amp;quot; },
                value: local!checkbox,
                saveInto: local!checkbox
              ),
              a!checkboxField(
                label: &amp;quot;CheckBox Label&amp;quot;,
                choiceLabels: { &amp;quot;Yes&amp;quot;, &amp;quot;No&amp;quot; },
                choiceValues: { &amp;quot;Yes&amp;quot;, &amp;quot;No&amp;quot; },
                value: local!checkbox,
                saveInto: local!checkbox
              ),
              a!paragraphField(value:local!paragraph,height: &amp;quot;TALL&amp;quot;),
              a!paragraphField(value:local!paragraph,height: &amp;quot;TALL&amp;quot;),
              a!paragraphField(value:local!paragraph,height: &amp;quot;TALL&amp;quot;),
              a!paragraphField(value:local!paragraph,height: &amp;quot;TALL&amp;quot;),
            },
            marginAbove: &amp;quot;STANDARD&amp;quot;
          )
        },
        buttons: a!buttonLayout(
          primaryButtons: {
            a!buttonWidget(
              label: &amp;quot;Next&amp;quot;,
              value: local!activeStep + 1,
              saveInto: local!activeStep,
              style: &amp;quot;SOLID&amp;quot;,
              showWhen: or(local!activeStep = { 1, 2 }),
              validate: true
            ),
            a!buttonWidget(
              label: &amp;quot;Onboard Employee&amp;quot;,
              submit: true,
              style: &amp;quot;SOLID&amp;quot;,
              showWhen: local!activeStep = 3
            )
          },
          secondaryButtons: {
            a!buttonWidget(
              label: &amp;quot;Back&amp;quot;,
              value: local!activeStep - 1,
              saveInto: local!activeStep,
              showWhen: or(local!activeStep = { 2, 3 })
            )
          }
        )
      ),
      {}
    )
  )
)
&lt;/pre&gt;Thank you Stefan,&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Insightful as always . Not sure why but it does not works (means not scroll to top) when you have more components (i may be doing something wrong) . PFA code.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Scroll to top when navigate through interfaces</title><link>https://community.appian.com/thread/149972?ContentTypeID=1</link><pubDate>Wed, 16 Jul 2025 05:41:37 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:a4f3cbc6-fbd1-4c94-ac0f-5a94d9c0cf48</guid><dc:creator>Stefan Helzle</dc:creator><description>&lt;p&gt;I covered this in my latest blog post:&amp;nbsp;&lt;a href="https://appian.rocks/2025/06/25/managing-scrolling/"&gt;https://appian.rocks/2025/06/25/managing-scrolling/&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Scroll to top when navigate through interfaces</title><link>https://community.appian.com/thread/149971?ContentTypeID=1</link><pubDate>Wed, 16 Jul 2025 04:42:23 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:43d705d1-297b-4f2c-a1ab-d9b91bddcae2</guid><dc:creator>Harsha Sharma</dc:creator><description>&lt;p&gt;Yeah there is no way to control scroll behavior apart from making small or carcading interfaces! Also Generally when a form loads the cursor (and thereby scroll position)&amp;nbsp;moves to the first editable field in the form. Does your second form has editable fields at bottom of page?&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Scroll to top when navigate through interfaces</title><link>https://community.appian.com/thread/149968?ContentTypeID=1</link><pubDate>Wed, 16 Jul 2025 03:08:18 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:c702e303-182f-403e-b2d1-0a4c3f653bea</guid><dc:creator>Shubham Aware</dc:creator><description>&lt;p&gt;It is not possible to make a form automatically scroll to the top when navigating between interfaces using only interface logic. When you dynamically switch content (whether using conditional logic, choose() functions, or calling different sub-interfaces), Appian&amp;#39;s framework intentionally preserves the current scroll position to maintain user context.&lt;br /&gt;&lt;br /&gt; The only way to achieve automatic scroll-to-top is by using a process model with chaining (which reloads the form) or by navigating to separate Site pages.&lt;br /&gt;&lt;br /&gt;AFAIK, This is a fundamental limitation of Appian&amp;#39;s client-side framework design, not a configuration issue that can be solved through interface logic alone.&lt;br /&gt;&lt;br /&gt;Workaround(If possible) :&amp;nbsp;Keep form sections short enough to fit on one screen, so users naturally reach navigation buttons without scrolling. Use collapsible sections for optional fields and secondary content - this reduces form height while keeping everything accessible.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>