Ajax Control Toolkit TabContainer shows more than one Tab when at least one tab is hidden - asp.net

I'm having a problem with the AjaxControlToolkit TabContainer Control.
I apologize in advance for not submitting any code, but since the code is company property, i have no authority to post it anywhere.
The problem is as follows:
I have a TabContainer with 10 tabs, some of which contain user controls, some pure html and .net markup. When i set the tab number 5 to visible=false, something weird starts happening. Tab 6 operates as it should, but tab 7 to 10 show not only the content of their own tab, but also the tab that comes before them. I.e.:
when selecting the tab 7, it shows the content of tab 6 and tab 7, when selecting tab 7 it shows the content of tab 7 and tab 8 etc. the content of the previous tab appears a second later, and i am unsure as to what may be causing this behavior. The temporary solution is to place the tabs that needs to be hidden after the tabs that need to be shown all the time, but a situation has arisen where there is need to dynamically hide tabs depending on user permissions.
If anyone has any ideas, similar experiences, and anything else, please help. We are using AjaxControlToolkit 3.5.50401 with .NET 3.5.

There is issues when playing with the visible property of the tabPanels.
Look at this question that seem to be a very similar behavior.
Ajax Tookit TabPanel Invisible Tag Bug

Related

Struts Menu Tabs losing focus on IE 11

I maintain a J2EE app written with the STRUTS framework. Recently my company upgraded Internet Explorer and the application now loses focus on the STRUTS Velocity menu tabs in the application.
I am not experienced with STRUTS, but googling is not giving me any options.
In IE8, a user would log into the application and the application tabs would automatically focus on the leftmost tab, and if there are sub tabs, the leftmost sub tab would be in focus. In IE11, this doesn't happen so the user gets confused when they can't access dialog boxes until they click on the tab. Clicking on the tab is not an acceptible workaround or using a different browser.
How do I force the leftmost tab in focus in Struts? Is there an undocumented option for the "Item" element in the config.xml? Or can I do this with CSS?
Thanks,
Tim
I went into the menu building JavaScript and noticed that the previous developer had missing ";". I guess IE8 is forgiving with missing ";" than IE11.
Anyhow, problem solved.
Tim

If spacebar opens dropdowns across all browsers, why is my onchange triggered menu considered inaccessible

Background: for Windows users on Chrome and IE, dropdowns that reload or change the page are no good for accessibility. As soon as a user presses the down arrow button, the page reloads. This means that the user can only access the very first menu option. Here is an example: http://html.cita.illinois.edu/script/onchange/onchange-example.php
This is covered in the WCAG rule:
“Changing the setting of any user interface component does not automatically cause a change of context unless the user has been advised of the behavior before using the component. (Level A)”
EXCEPT the user can very easily open up the dropdown and explore all the options without triggering an onchange event. The user does this with a space bar press. This is a very commonly known keyboard trick that I've seen all tested users to already be aware of or be able to figure out quickly.
In my system, we are using a dropdown for pagination in long directories.
EG: "you are on page [1^] of 16" (with the [1^] being a browser default dropdown menu). The designers will not allow any kind of visual [go] button. This happens across thousands of pages, javascript fixes I've seen need to account for every dropdown, and this is impossible on our case.
Using space bar, the user can see all the options and make a selection from anywhere on the list using only the keyboard. So why are dropdown page menus that automatically reload onchange still considered inaccessible? And would they be considered accessible if we included screen-reader only text which said "press space bar to open this menu, making a selection will load your next page"
Well except that in Firefox, the keyboard command is actually F4, you are correct - this is not a WCAG 2 violation but rather a best practice
Here is a page where you can test this: http://dylanb.github.io/onchange_select.html

Keeping ASP.Net TreeView nodes collapsed when navigating web site

I noticed that when navigating an ASP.Net web site the nodes in the TreeView always expand.
Is there a setting or attribute we can include in the markup that will keep the TreeView nodes collapsed until the user expands them?
Maybe something is needed to be added to the code-behind file?
Yes there is, it's called ExpandDepth
ExpandDepth - Gets or sets the number of levels that are expanded when a TreeView control is displayed for the first time.
If you want all the nodes, including the root, to be collapsed just set it to 0
<asp:TreeView ExpandDepth="0" ...
I don't think you can do this in the markup. But it is possible in code - behind. Check out this link for some sample code: Collapse all open nodes.
I'm pretty sure that an app I wrote a few years collapses the entire tree with one line of code (like you we found that it kept opening up every post back). If this link doesn't work I will post the code I used tomorrow.
The one line of code I was looking for is
tv.CollapseAll();

Asp.net ajax combobox doesn't display correctly when inserted inside a tab control

I have a display problem when I try to use a ajax combobox inside a tab control:
when my tab control loads on the page where the combobox is, everything works fine; however, if it loads on a another page, the you change to the page which contains the combobox, the right button (which opens the list of the combobox) isn't displayed at all.
Has someone been through this behavior? And maybe found a solution ?
Thanks in advance !
Use Firebug in FireFox (this tool is very good if you dont use it) and right-click the area where your drop arrow should be, then select "Inspect Element". At the bottom of your browser screen, you will see a couple windows. One window will detail teh styles being applied to the arrow area.
Look for a style that is making visibility of either a <td> or <img> to be hidden. The Ajax ComboBox control, sadly, is laid out in a table.

sharepoint calendar messing up accessibility mode tab order

on any OOB sharepoint page, if you "tab" through the page, the first tab brings up a "turn on more accessible mode" menu item. that is, except for a page with a calendar web part. Once you tab off the browser menu, the first tab item becomes the calendar web part, skipping over the menu item and all other content.
I've tried setting tab index to -1, 0, 1 on the div with the menu that I want hit first, but the calendar web part still gets the first tab, forcing users who tab through pages to have to cycle through all controls to get to the "accessible mode" menu.
Any ideas what else I could do to make sure this loads as the first item tabbed to, no matter what?
Thanks in advance!
try using JQuery, to remove (or edit) the tabindex of the table holding the calendar webpart. It probably has a tabindex 0 , that occurs later in the code then the accessible mode div, and the browser will see 2 items with tabindex 0, the startindex (-1 doesn't work) for the tab button. Seeing 2 items, it will use the last item found in the html as the start for the tab button.

Resources