headers attribute of trh:cellFormat needs to output a 'client-id'-ized value
----------------------------------------------------------------------------

                 Key: TRINIDAD-2003
                 URL: https://issues.apache.org/jira/browse/TRINIDAD-2003
             Project: MyFaces Trinidad
          Issue Type: Bug
            Reporter: Maithili Kulkarni


Currently we are using trinidad tage to render our table. We need to make these 
work in Accessibility environments.

Example of our code is:
In one of our UI page, we are using trinidad tags for implementing table and 
row/column ui design.

Example:
<trh:tableLayout id="tl1" summary="Conditions">
<trh:rowLayout id="rowLayout1">
<trh:cellFormat id="cellFormat1" halign="center"
header="true">
<af:outputLabel value="Condition" id="ol1"/>
</trh:cellFormat>
<trh:cellFormat id="cellFormat2" header="true"
halign="start">
<af:outputLabel value="Field Name" id="outputLabel1"/>
</trh:cellFormat>
<trh:cellFormat id="cellFormat3" header="true"
halign="start">
<af:outputLabel value="Operator" id="outputLabel2"/>
</trh:cellFormat>
<trh:cellFormat id="cellFormat4" header="true"
halign="center">
<af:outputLabel value="Value" id="outputLabel3"/>
</trh:cellFormat>
</trh:rowLayout>
<trh:rowLayout id="rl1" halign="end">
<trh:cellFormat id="cf1" halign="center"
headers="cellFormat1">
<af:inputText label="Condition" id="it2" value="A" contentStyle="width:150px"
readOnly="true" simple="true"/>
</trh:cellFormat>
<trh:cellFormat id="cf2" headers="cellFormat2"
halign="start">
<af:selectOneChoice id="conLnkOFldNameOne" contentStyle="width:150px"
value="#{pageFlowScope.conLnkOFldNameOne}"
autoSubmit="true" label="Field Name"
valueChangeListener="#{ExtnManageContextLinkBean.fldNameOne_ValueChange}"
simple="true"
partialTriggers="conLnkParentObj">
<f:selectItems value="#{ExtnManageContextLinkBean.objFields}"
id="si1"/>
</af:selectOneChoice>
</trh:cellFormat>
<trh:cellFormat id="cf3" headers="cellFormat3"
halign="start">
<af:selectOneChoice id="conLnkOperatorOne" contentStyle="width:150px"
value="#{pageFlowScope.conLnkOperatorOne}"
autoSubmit="true"
partialTriggers="conLnkOFldNameOne"
label="Operator"
binding="#{ExtnManageContextLinkBean.oprOne}"
simple="true">
<f:selectItems value="#{ExtnManageContextLinkBean.operatorOneForType}"
id="si8"/>
</af:selectOneChoice>
</trh:cellFormat>
<trh:cellFormat id="cf4" headers="cellFormat4"
halign="start">
<af:panelLabelAndMessage id="plam1">
<af:panelGroupLayout layout="horizontal" id="pgl3"
valign="top"
partialTriggers="conLnkVTypeOne conLnkOFldNameOne">
<af:selectOneChoice id="conLnkVTypeOne" contentStyle="width:150px"
label="Value Type" simple="true"
value="#{pageFlowScope.valueTypeOne}"
autoSubmit="true">
</af:panelGroupLayout>
</af:panelLabelAndMessage>
</trh:cellFormat>
</trh:rowLayout>
<trh:rowLayout id="rowLayout2" halign="end">
<trh:cellFormat id="cellFormat5" halign="center"
headers="cellFormat1">
<af:inputText label="Condition" id="inputText1" value="B" 
contentStyle="width:150px"
readOnly="true" simple="true"/>
</trh:cellFormat>
<trh:cellFormat id="cellFormat6" headers="cellFormat2"
halign="start">
<af:selectOneChoice id="conLnkOFldNameTwo" contentStyle="width:150px"
value="#{pageFlowScope.conLnkOFldNameTwo}"
autoSubmit="true" label="Field Name"
valueChangeListener="#{ExtnManageContextLinkBean.fldNameTwo_ValueChange}"
simple="true"
partialTriggers="conLnkParentObj">
<f:selectItems value="#{ExtnManageContextLinkBean.objFields}"
id="selectItems1"/>
</af:selectOneChoice>
</trh:cellFormat>

Now, when I run this page in Accessibility mode, I get the following error 

******************************************************************
Headers

* ERROR: ID cellFormat1 Referenced does not exist for each <trh:cellFormat> tag.
*******************************************************************

It looks like, @ "The ID of the header [trh:cellFormat header=true] component 
in the output 
@ page is (for example) 
@ pt1:USma:0:MAnt1:5:AP1:cellFormat1 
@ but the ID being referenced in the headers attribute is simply cellFormat1 
@ which does not exist in the page." 
@ . 
@ From looking at the Trinidad CellFormatRenderer, it looks like we render 'id' 
@ and 'headers' with these calls 
@     renderId(context, component); 
@     rw.writeAttribute("headers", getHeaders(component, bean), "headers"); 
@ . 
@ and renderId calls 
@       String clientId = getClientId(context, component); 
@ . 
@ and the headers attribute is not getting transformed at all.

Check the question raised in Oracle forums, 
http://myforums.oracle.com/jive3/thread.jspa?threadID=686376&tstart=0



-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to