Вы правы, это то, что делает Salesforce. Он поддерживает атрибут родителя, но не дочерний. В зависимости от того, для чего вам нужны атрибуты и откуда берутся значения, вы можете добавить их вручную, используя javascript. Это, безусловно, не будет работать для всех случаев использования. Так как вы также не можете поставить класс на ребенка, я завернул его в div.
<apex:inputField styleClass="parent" value="{!object__c.parent__c}" />
<div id="child-wrapper">
<apex:inputField value="{!object__c.child__c}" />
</div>
<script>
function reAttribute() {
setTimeout(function() {
$("#child-wrapper select").attr("dType","foo");}
, 500
)
}
$(function() {
reAttribute();
$(".parent").change(function() {
reAttribute();
});
});
</script>