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.