View Issue Details

IDProjectCategoryView StatusLast Update
0010800mantisbthtmlpublic2016-08-28 01:18
Reportermahindra Assigned Todregad  
PriorityurgentSeveritytweakReproducibilityalways
Status closedResolutionduplicate 
Product Version1.1.8 
Summary0010800: Tabindex of "custom-fields" in "bug_change_status_page.php" contra no tab-order in original mantisbt-fields
Description

Dear Mantis-Team,

there are similar IDs 0003460, 0005306 and 0006167 and in my opinion they are all about the same factor, that original mantisbt-Fields in the "bug_change_status_page.php" have no tabindex contra custom-fields are defined with tabindex "1-n" for a long time since mantisbt exist.

It is interesting that all other Guis from mantisbt have no tabindex set for custom-fields, so the browser is able to handle the fields from top to down in a user-friendly way.
This is very awkward to work and fill out the fields with using keyboard and mouse again and again (the cursor moves fom field to issue# and turns around on the screen)...

It doesn't matter if you youse Firefox or IE 6 to 8, in ervery browser will be the same interrupted field-order.

It would be very fine if you are able to remove the tabindex by the custom field tags, so the browser will be able to handle the field order.
Or in other way define a tab-index for all fields in the "bug_change_status_page.php"

Thank you for your support!

Yours,
mahindra

Steps To Reproduce

Example generated html-code from "bug_change_status_page.php"

........no tabindex by original mantisbt-fields....................

<!-- Resolution -->
<tr class="row-1">
<td class="category">
Lösung </td>
<td>
<select name="resolution">
<option value="10">offen</option><option value="20" selected="selected" >erledigt</option><option value="30">wiedereröffnet</option><option value="40">nicht reproduzierbar</option><option value="50">unlösbar</option><option value="60">doppelt</option><option value="70">kein Fehler</option><option value="80">aufgeschoben</option><option value="90">wird nicht behoben</option> </select>
</td>
</tr>

<!-- Duplicate ID -->
<tr class="row-2">
<td class="category">
ID doppelt </td>
<td>
<input type="text" name="duplicate_id" maxlength="7" />
</td>
</tr>

<!-- Custom Fields with tabindex!!!!!! -->
<tr class="row-1">
<td class="category">
Umsetzung intern/extern </td>
<td>
<select tabindex="1" name="custom_field_11" size="0"><option value="intern" selected="selected"> intern</option><option value="extern">extern</option><option value=""></option></select> </td>
</tr>
<tr class="row-2">
<td class="category">
urspr. Plan-Aufwand [h] </td>
<td>
<input tabindex="2" type="text" name="custom_field_17" size="80" maxlength="4" value="3"></input> </td>
</tr>
<tr class="row-1">
<td class="category">
Aufwand gesamt aktuell [h] </td>
<td>
<input tabindex="3" type="text" name="custom_field_9" size="80" maxlength="4" value="3"></input> </td>
</tr>
<tr class="row-2">
<td class="category">
Aufwand noch offen [h] </td>
<td>
............end of example................................................

Tagspatch
Attached Files
cfdef_standard.php.patch (2,313 bytes)   
Index: cfdef_standard.php
===================================================================
--- cfdef_standard.php	(revision 3828)
+++ cfdef_standard.php	(working copy)
@@ -240,9 +240,9 @@
 	}
 
 	if ( $p_field_def['type'] == CUSTOM_FIELD_TYPE_MULTILIST ) {
-		echo '<select ', helper_get_tab_index(), ' name="custom_field_' . $p_field_def['id'] . '[]" size="' . $t_list_size . '" multiple="multiple">';
+		echo '<select ', ' name="custom_field_' . $p_field_def['id'] . '[]" size="' . $t_list_size . '" multiple="multiple">';
 	} else {
-		echo '<select ', helper_get_tab_index(), ' name="custom_field_' . $p_field_def['id'] . '" size="' . $t_list_size . '">';
+		echo '<select ', ' name="custom_field_' . $p_field_def['id'] . '" size="' . $t_list_size . '">';
 	}
 
 	$t_selected_values = explode( '|', $t_custom_field_value );
@@ -260,7 +260,7 @@
 	$t_values = explode( '|', custom_field_prepare_possible_values( $p_field_def['possible_values'] ) );
 	$t_checked_values = explode( '|', $t_custom_field_value );
 	foreach( $t_values as $t_option ) {
-		echo '<input ', helper_get_tab_index(), ' type="checkbox" name="custom_field_' . $p_field_def['id'] . '[]"';
+		echo '<input ', ' type="checkbox" name="custom_field_' . $p_field_def['id'] . '[]"';
 		if( in_array( $t_option, $t_checked_values, true ) ) {
 			echo ' value="' . string_attribute( $t_option ) . '" checked="checked">&#160;' . string_display_line( $t_option ) . '&#160;&#160;';
 		} else {
@@ -280,7 +280,7 @@
 	}
 
 	foreach ( $t_values as $t_option ) {
-		echo '<input ', helper_get_tab_index(), ' type="radio" name="custom_field_' . $p_field_def['id'] . '"';
+		echo '<input ', ' type="radio" name="custom_field_' . $p_field_def['id'] . '"';
 
 		if ( $t_option == $t_checked_value ) {
 			echo ' value="' . string_attribute( $t_option ) . '" checked="checked">&#160;' . string_display_line( $t_option ) . '&#160;&#160;';
@@ -291,7 +291,7 @@
 }
 
 function cfdef_input_textbox($p_field_def, $t_custom_field_value) {
-	echo '<input ', helper_get_tab_index(), ' type="text" name="custom_field_' . $p_field_def['id'] . '" size="80"';
+	echo '<input ', ' type="text" name="custom_field_' . $p_field_def['id'] . '" size="80"';
 	if( 0 < $p_field_def['length_max'] ) {
 		echo ' maxlength="' . $p_field_def['length_max'] . '"';
 	} else {
cfdef_standard.php.patch (2,313 bytes)   

Relationships

duplicate of 0003460 new Custom Fields tab sequence 
has duplicate 0017004 closedatrol Tabindex of controls on Bug_change_status_page not correct with userdefined fields 

Activities

atrol

atrol

2014-03-04 15:29

developer   ~0039616

Thanks Bascy for the pull request https://github.com/mantisbt/mantisbt/pull/145