Custom control has param of data source name. Control defines data context named "dds" with #{requestScope[compositeData.dataSourceName]} binding. Everything is fine, fields binded to #{dds.field} work as expected.
The issue: data context access fails inside widget's href and title property. This code returns empty value (does not throw exception nor returns undefined):
dds.getItemValueString("fld_DocID")// dds is data context
Fix - this href/title script returns correct value:
var dds = requestScope[compositeData.dataSourceName];// the same as in data context
dds.getItemValueString("fld_DocID")
It seems to me, that widget properties are evaluated before data source initialization(?).