Filter entries on a page based on related entry
You can conditionally add parameters to your criteria model. Check if there's a "area" parameter in your query string, e.g. http://example.com/barristers?area=7 before adding the filter.

{% set barristers = craft.entries.section('barristers').limit(null) %}

{% set query = craft.request.getQuery() %}

{% if query.area is defined %}
    {% set areaIds = craft.entries.section('practiceAreas').id(query.area).ids() %}
    {% set barristers = barristers.relatedTo({ targetElement: areaIds }) %}
{% endif %}


In case you need to add more than one relatedTo condition, have a look at this discussion:
Dynamic relatedTo queries