# \[Feature-1181\]Tabbing through components in Perspective

**URL:** <https://forum.inductiveautomation.com/t/feature-1181-tabbing-through-components-in-perspective/42073>\
**Category:** Ignition\
**Tags:** ignition80, perspective\
**Created:** [January 8, 2021, 7:23pm UTC](https://forum.inductiveautomation.com/t/feature-1181-tabbing-through-components-in-perspective/42073 "2021-01-08T19:23:29Z")\
**Posts on this page:** 18\
**Page:** 1

<div class="post-metadata">

**Author:** ![jonah.haekel](https://avatars.discourse-cdn.com/v4/letter/j/858c86/32.png) [@jonah.haekel](https://forum.inductiveautomation.com/u/jonah.haekel)\
**Post date:** [January 8, 2021, 7:23pm UTC](https://forum.inductiveautomation.com/t/feature-1181-tabbing-through-components-in-perspective/42073/1 "2021-01-08T19:23:29Z")

</div>

Is there a way to setup a “tab order” in perspective. I have 20 some numeric entries on a page and when I press tab I jump all over the place. I tried adding a prefix to each components name (0-26\_ComponentName) but that didn’t seem to help either. Is there any way to do without having to restructure everything I already have?

Thanks,

---

<div class="post-metadata">

**Author:** ![wking](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/wking/32/21823_2.png) [@wking](https://forum.inductiveautomation.com/u/wking)\
**Post date:** [January 8, 2021, 7:45pm UTC](https://forum.inductiveautomation.com/t/feature-1181-tabbing-through-components-in-perspective/42073/2 "2021-01-08T19:45:01Z")

</div>

Pretty sure that sets up the DOM.

I guess you could use focus and blur events.

But, it probably is quicker to just refactor it and put it in the correct order.

---

<div class="post-metadata">

**Author:** ![cmallonee](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/cmallonee/32/6416_2.png) [@cmallonee](https://forum.inductiveautomation.com/u/cmallonee)\
**Post date:** [January 8, 2021, 9:38pm UTC](https://forum.inductiveautomation.com/t/feature-1181-tabbing-through-components-in-perspective/42073/3 "2021-01-08T21:38:45Z")

</div>

There is an open feature request to configure this, but the current approach is to manipulate the z-index of input components such that they are in the order you want the tabbing to follow. Long-term we will most likely introduce something like `Component.meta.tabIndex` which would allow for specifying the order of components.

---

<div class="post-metadata">

**Author:** ![jonah.haekel](https://avatars.discourse-cdn.com/v4/letter/j/858c86/32.png) [@jonah.haekel](https://forum.inductiveautomation.com/u/jonah.haekel)\
**Post date:** [January 15, 2021, 6:12pm UTC](https://forum.inductiveautomation.com/t/feature-1181-tabbing-through-components-in-perspective/42073/4 "2021-01-15T18:12:46Z")

</div>

Thanks, I will look into the z-index and see if I can make it work.

---

<div class="post-metadata">

**Author:** ![gopinath.ps](https://avatars.discourse-cdn.com/v4/letter/g/7ea924/32.png) [@gopinath.ps](https://forum.inductiveautomation.com/u/gopinath.ps)\
**Post date:** [May 20, 2021, 7:48pm UTC](https://forum.inductiveautomation.com/t/feature-1181-tabbing-through-components-in-perspective/42073/5 "2021-05-20T19:48:58Z")

</div>

Did the z-index work? if yes, could you explain?

---

<div class="post-metadata">

**Author:** ![jonah.haekel](https://avatars.discourse-cdn.com/v4/letter/j/858c86/32.png) [@jonah.haekel](https://forum.inductiveautomation.com/u/jonah.haekel)\
**Post date:** [May 20, 2021, 8:04pm UTC](https://forum.inductiveautomation.com/t/feature-1181-tabbing-through-components-in-perspective/42073/6 "2021-05-20T20:04:56Z")

</div>

No, I never got it working. I haven’t put much time into it since I originally asked but it never worked as I intended. It hasn’t been priority enough for me to revisit again.

---

<div class="post-metadata">

**Author:** ![bschroeder](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/bschroeder/32/13260_2.png) [@bschroeder](https://forum.inductiveautomation.com/u/bschroeder)\
**Post date:** [May 26, 2021, 2:06pm UTC](https://forum.inductiveautomation.com/t/feature-1181-tabbing-through-components-in-perspective/42073/7 "2021-05-26T14:06:00Z")

</div>

@cmallonee Any update on ETA on this? I’ve got a heavy form based application and the end user is asking for better control of tabbing through the form when entering data.

---

<div class="post-metadata">

**Author:** ![cmallonee](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/cmallonee/32/6416_2.png) [@cmallonee](https://forum.inductiveautomation.com/u/cmallonee)\
**Post date:** [May 26, 2021, 2:46pm UTC](https://forum.inductiveautomation.com/t/feature-1181-tabbing-through-components-in-perspective/42073/8 "2021-05-26T14:46:02Z")

</div>

It is still in the incubation phase, and so I would not expect it in the next couple of releases.

---

<div class="post-metadata">

**Author:** ![bschroeder](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/bschroeder/32/13260_2.png) [@bschroeder](https://forum.inductiveautomation.com/u/bschroeder)\
**Post date:** [May 26, 2021, 3:40pm UTC](https://forum.inductiveautomation.com/t/feature-1181-tabbing-through-components-in-perspective/42073/9 "2021-05-26T15:40:29Z")

</div>

@cmallonee do you know of a reliable work around? Even if it is hacky I’d be willing to try it.

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [May 26, 2021, 3:44pm UTC](https://forum.inductiveautomation.com/t/feature-1181-tabbing-through-components-in-perspective/42073/10 "2021-05-26T15:44:41Z")

</div>

I don’t think there is one. `tabIndex` is an HTML attribute on each node; you can’t even customize it via CSS.

---

<div class="post-metadata">

**Author:** ![cmallonee](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/cmallonee/32/6416_2.png) [@cmallonee](https://forum.inductiveautomation.com/u/cmallonee)\
**Post date:** [May 26, 2021, 4:03pm UTC](https://forum.inductiveautomation.com/t/feature-1181-tabbing-through-components-in-perspective/42073/11 "2021-05-26T16:03:19Z")

</div>

If I remember correctly, the tabbing from one component to the next is predicated by their order in the project browser, so if you’re using a coordinate container you can just place all of the input components as the last components in their respective level. If you’re not using a coordinate container, or you have nesting going on, then there’s nothing you can do as of right now.

---

<div class="post-metadata">

**Author:** ![bschroeder](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/bschroeder/32/13260_2.png) [@bschroeder](https://forum.inductiveautomation.com/u/bschroeder)\
**Post date:** [May 26, 2021, 7:48pm UTC](https://forum.inductiveautomation.com/t/feature-1181-tabbing-through-components-in-perspective/42073/12 "2021-05-26T19:48:44Z")

</div>

OK Thanks for the ideas.

I’ll try the coordinate container and see if that help out. Right now it is a flex container so that makes sense on why it might not be working.

---

<div class="post-metadata">

**Author:** ![bschroeder](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/bschroeder/32/13260_2.png) [@bschroeder](https://forum.inductiveautomation.com/u/bschroeder)\
**Post date:** [March 22, 2022, 2:04am UTC](https://forum.inductiveautomation.com/t/feature-1181-tabbing-through-components-in-perspective/42073/13 "2022-03-22T02:04:31Z")

</div>

Just checking in to see if there has been any change on this?

---

<div class="post-metadata">

**Author:** ![cmallonee](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/cmallonee/32/6416_2.png) [@cmallonee](https://forum.inductiveautomation.com/u/cmallonee)\
**Post date:** [March 22, 2022, 3:38pm UTC](https://forum.inductiveautomation.com/t/feature-1181-tabbing-through-components-in-perspective/42073/14 "2022-03-22T15:38:27Z")

</div>

No, no change.

---

<div class="post-metadata">

**Author:** ![bschroeder](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/bschroeder/32/13260_2.png) [@bschroeder](https://forum.inductiveautomation.com/u/bschroeder)\
**Post date:** [March 22, 2022, 4:26pm UTC](https://forum.inductiveautomation.com/t/feature-1181-tabbing-through-components-in-perspective/42073/15 "2022-03-22T16:26:15Z")

</div>

OK thanks. I’ll let my customer know.

---

<div class="post-metadata">

**Author:** ![rich\_wood](https://avatars.discourse-cdn.com/v4/letter/r/f05b48/32.png) [@rich\_wood](https://forum.inductiveautomation.com/u/rich_wood)\
**Post date:** [May 14, 2023, 5:48pm UTC](https://forum.inductiveautomation.com/t/feature-1181-tabbing-through-components-in-perspective/42073/16 "2023-05-14T17:48:25Z")

</div>

z-order manipulation does work.  
assuming your controls are in the same container.  
This was done using 3 control types; radio group, text fields and buttons.  
After the components are in the correct locations in your view, left click on the first one, right click, bring to front. left click on the next control in the 'order', right click, left click bring to front. Repeat.  
if you're binding any of the visibilities to tags or expressions, the tab stop is still honored even if the control is invisible. the ux is focus disappears until tabbing goes to the next visible control.  
Although not perfect, this does put some order into the user experience of tabbing.

---

<div class="post-metadata">

**Author:** ![Kevin\_Flener](https://avatars.discourse-cdn.com/v4/letter/k/74df32/32.png) [@Kevin\_Flener](https://forum.inductiveautomation.com/u/Kevin_Flener)\
**Post date:** [May 31, 2024, 3:36pm UTC](https://forum.inductiveautomation.com/t/feature-1181-tabbing-through-components-in-perspective/42073/17 "2024-05-31T15:36:49Z")

</div>

@rich_wood

I was having a similar problem as the OP. This worked well enough for me on my small project. Thank you for the clear instructions.

---

<div class="post-metadata">

**Author:** ![cmallonee](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/cmallonee/32/6416_2.png) [@cmallonee](https://forum.inductiveautomation.com/u/cmallonee)\
**Post date:** [May 31, 2024, 3:47pm UTC](https://forum.inductiveautomation.com/t/feature-1181-tabbing-through-components-in-perspective/42073/18 "2024-05-31T15:47:11Z")

</div>

Z-order manipulation does work within the confines of a singular Coordinate Container. The ability to specify a tab index as part of the `meta` category of a component was [added in 8.1.39](https://inductiveautomation.com/downloads/releasenotes/8.1.39#:~:text=Added%20the%20tabIndex%20property%20to%20component%20meta%20props), and so that route should be used going forward.
