If I'm not mistaking the relatedFrame in the extract method is always an empty string. Below is the piece of code related to the extract method in the CandidateElementExtractor.java. As can be seen in line 12, its setting it to an empty string in line 24. And I guess if the clickable does contain the specific attribute, it will be identified. 

public ImmutableList<CandidateElement> extract(StateVertex currentState)
	1        throws CrawljaxException {
	2	LinkedList<CandidateElement> results = new LinkedList<>();
        3
	4	if (!checkedElements.checkCrawlCondition(browser)) {
	5		LOG.info("State {} did not satisfy the CrawlConditions.", currentState.getName());
	6		return ImmutableList.of();
	7	}
	8	LOG.debug("Looking in state: {} for candidate elements", currentState.getName());
        9
        10	try {
	11		Document dom = DomUtils.asDocument(browser.getStrippedDomWithoutIframeContent());
	12		extractElements(dom, results, "");
	13	} catch (IOException e) {
	14		LOG.error(e.getMessage(), e);
	15		throw new CrawljaxException(e);
	16	}
	17	if (randomizeElementsOrder) {
	18		Collections.shuffle(results);
	19	}
        20
	21	LOG.debug("Found {} new candidate elements to analyze!", results.size());
	21	return ImmutableList.copyOf(results);
	22      }

        23    private void extractElements(Document dom, List<CandidateElement> results,
	24       String relatedFrame) {